line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Data::Petitcom::Resource; |
2
|
|
|
|
|
|
|
|
3
|
8
|
|
|
8
|
|
2589
|
use strict; |
|
8
|
|
|
|
|
17
|
|
|
8
|
|
|
|
|
418
|
|
4
|
8
|
|
|
8
|
|
112
|
use warnings; |
|
8
|
|
|
|
|
29
|
|
|
8
|
|
|
|
|
375
|
|
5
|
|
|
|
|
|
|
|
6
|
8
|
|
|
8
|
|
3924
|
use parent qw{ Exporter }; |
|
8
|
|
|
|
|
815
|
|
|
8
|
|
|
|
|
66
|
|
7
|
|
|
|
|
|
|
our @EXPORT = qw{ get_resource }; |
8
|
|
|
|
|
|
|
|
9
|
8
|
|
|
8
|
|
903
|
use Carp (); |
|
8
|
|
|
|
|
14
|
|
|
8
|
|
|
|
|
297
|
|
10
|
8
|
|
|
8
|
|
10021
|
use Module::Load (); |
|
8
|
|
|
|
|
10823
|
|
|
8
|
|
|
|
|
3548
|
|
11
|
|
|
|
|
|
|
|
12
|
|
|
|
|
|
|
sub get_resource { |
13
|
13
|
|
|
13
|
0
|
964
|
my %opts = @_; |
14
|
13
|
|
100
|
|
|
66
|
my $resource = delete $opts{resource} || 'PRG'; |
15
|
13
|
|
|
|
|
53
|
my $pkg_resource = join '::', __PACKAGE__, uc($resource); |
16
|
13
|
|
|
|
|
63
|
Module::Load::load $pkg_resource; |
17
|
12
|
|
|
|
|
733
|
my $obj_resource = $pkg_resource->new( resource => $resource, %opts ); |
18
|
12
|
50
|
|
|
|
102
|
Carp::croak "initialize failed: $!" |
19
|
|
|
|
|
|
|
unless ( $obj_resource->isa(__PACKAGE__) ); |
20
|
12
|
|
|
|
|
59
|
return $obj_resource; |
21
|
|
|
|
|
|
|
} |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
my %defaults = ( data => undef ); |
24
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
sub new { |
26
|
18
|
50
|
|
18
|
0
|
1308
|
my $class = ref $_[0] ? ref shift : shift; |
27
|
18
|
|
|
|
|
93
|
my $self = bless {@_}, $class; |
28
|
18
|
50
|
|
|
|
245
|
$self->init() if ( $self->can('init') ); |
29
|
18
|
|
|
|
|
49
|
return $self; |
30
|
|
|
|
|
|
|
} |
31
|
|
|
|
|
|
|
|
32
|
|
|
|
|
|
|
sub init { |
33
|
18
|
|
|
18
|
0
|
41
|
my $self = shift; |
34
|
18
|
|
|
|
|
77
|
for ( keys %defaults ) { |
35
|
18
|
|
66
|
|
|
181
|
my $value = $self->{$_} || $defaults{$_}; |
36
|
18
|
50
|
|
|
|
171
|
( $self->can($_) ) ? $self->$_($value) : ( $self->{$_} = $value ); |
37
|
|
|
|
|
|
|
} |
38
|
18
|
|
|
|
|
46
|
return $self; |
39
|
|
|
|
|
|
|
} |
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
sub data { |
42
|
22
|
|
|
22
|
0
|
1137
|
my $self = shift; |
43
|
22
|
100
|
|
|
|
86
|
$self->{data} = shift if (@_); |
44
|
22
|
|
|
|
|
232
|
return $self->{data}; |
45
|
|
|
|
|
|
|
} |
46
|
|
|
|
|
|
|
|
47
|
0
|
|
|
0
|
0
|
|
sub save { die "override save" } |
48
|
0
|
|
|
0
|
0
|
|
sub load { die "override load" } |
49
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
1; |