File Coverage

blib/lib/WWW/Discogs/Artist.pm
Criterion Covered Total %
statement 50 51 98.0
branch 1 2 50.0
condition 9 18 50.0
subroutine 14 14 100.0
pod 0 8 0.0
total 74 93 79.5


line stmt bran cond sub pod time code
1             package WWW::Discogs::Artist;
2              
3 6     6   33 use strict;
  6         9  
  6         215  
4 6     6   29 use warnings;
  6         22  
  6         221  
5 6     6   6457 use NEXT;
  6         15290  
  6         193  
6 6     6   45 use base qw( WWW::Discogs::HasMedia );
  6         11  
  6         3718  
7 6     6   34 use Carp;
  6         10  
  6         2849  
8              
9             sub new {
10 1     1 0 6 my ($class, @args) = @_;
11              
12 1         2 my $self = {};
13 1         3 bless $self, $class;
14 1         19 $self->EVERY::LAST::_init(@args);
15              
16 1         18 return $self;
17             }
18              
19             sub _init {
20 1     1   13 my ($self, %args) = @_;
21              
22 1   50     5 $self->{_name} = $args{name} || '';
23 1   50     9 $self->{_realname} = $args{realname} || '';
24 1   50     6 $self->{_profile} = $args{profile} || '';
25 1   50     5 $self->{_aliases} = $args{aliases} || [];
26 1   50     5 $self->{_namevariations} = $args{namevariations} || [];
27 1   50     10 $self->{_urls} = $args{urls} || [];
28 1   50     4 $self->{_releases} = $args{releases} || [];
29 1   50     4 $self->{_params} = $args{_params} || {};
30 1   50     6 $self->{_uri} = $args{_uri} || '';
31              
32 1         5 return $self;
33             }
34              
35             sub name {
36 1     1 0 902 my $self = shift;
37 1         7 return $self->{_name};
38             }
39              
40             sub realname {
41 1     1 0 3 my $self = shift;
42 1         6 return $self->{_realname};
43             }
44              
45             sub aliases {
46 1     1 0 2 my $self = shift;
47 1         2 return @{ $self->{_aliases} };
  1         6  
48             }
49              
50             sub namevariations {
51 1     1 0 7157 my $self = shift;
52 1         3 return @{ $self->{_namevariations} };
  1         9  
53             }
54              
55             sub profile {
56 1     1 0 13978 my $self = shift;
57 1         16 return $self->{_profile};
58             }
59              
60             sub urls {
61 1     1 0 4 my $self = shift;
62 1         2 return @{ $self->{_urls} };
  1         6  
63             }
64              
65             sub releases {
66 1     1 0 13443 my $self = shift;
67 1 50       8 unless ($self->{_params}->{releases}) {
68 0         0 carp "No releases fetched for artist '" . $self->{_name} .
69             "'. Call 'artist' method with releases => 1 param."
70             }
71              
72 1         2 return @{ $self->{_releases} };
  1         39  
73             }
74              
75             1;
76              
77             __END__