File Coverage

blib/lib/WebService/Backlog/Issue.pm
Criterion Covered Total %
statement 90 97 92.7
branch 14 24 58.3
condition 18 39 46.1
subroutine 23 24 95.8
pod 3 14 21.4
total 148 198 74.7


line stmt bran cond sub pod time code
1             package WebService::Backlog::Issue;
2              
3             # $Id: Issue.pm 600 2008-05-09 13:48:50Z yamamoto $
4              
5 2     2   24484 use strict;
  2         5  
  2         68  
6 2     2   10 use warnings;
  2         4  
  2         57  
7              
8 2     2   10 use base qw(Class::Accessor::Fast);
  2         5  
  2         1245  
9             __PACKAGE__->mk_accessors(
10             qw/
11             id key summary description url
12             start_date due_date
13             estimated_hours actual_hours
14             created_on updated_on
15             issueType priority
16             component components
17             resolution
18             version versions
19             status
20             milestone milestones
21             created_user assigner
22             /
23             );
24              
25             sub new {
26 4     4 1 43 my $self = shift->SUPER::new(@_);
27 4         70 $self->issueType( $self->_issueType_accessor );
28 4         22 $self->priority( $self->_priority_accessor );
29 4         19 $self->component( $self->_component_accessor );
30 4         21 $self->components( $self->_components_accessor );
31 4         26 $self->resolution( $self->_resolution_accessor );
32 4         19 $self->version( $self->_version_accessor );
33 4         19 $self->versions( $self->_versions_accessor );
34 4         22 $self->status( $self->_status_accessor );
35 4         20 $self->milestone( $self->_milestone_accessor );
36 4         26 $self->milestones( $self->_milestones_accessor );
37 4         20 $self->created_user( $self->_created_user_accessor );
38 4         20 $self->assigner( $self->_assigner_accessor );
39 4         41 return $self;
40             }
41              
42 2     2   16981 use WebService::Backlog::IssueType;
  2         6  
  2         15  
43 2     2   1002 use WebService::Backlog::Priority;
  2         6  
  2         15  
44 2     2   457 use WebService::Backlog::Component;
  2         6  
  2         13  
45 2     2   1027 use WebService::Backlog::Resolution;
  2         5  
  2         14  
46 2     2   1037 use WebService::Backlog::Version;
  2         4  
  2         14  
47 2     2   969 use WebService::Backlog::Status;
  2         6  
  2         13  
48 2     2   540 use WebService::Backlog::User;
  2         3  
  2         15  
49              
50             sub issueType {
51 4     4 0 28 my $self = shift;
52 4 50       27 $self->_issueType_accessor( WebService::Backlog::IssueType->new(@_) )
53             if (@_);
54 4         51 return $self->_issueType_accessor;
55             }
56              
57             sub priority {
58 4     4 0 16 my $self = shift;
59 4 50       42 $self->_priority_accessor( WebService::Backlog::Priority->new(@_) ) if (@_);
60 4         47 return $self->_priority_accessor;
61             }
62              
63             =head2 component
64              
65             This method is deprecated.
66             use "components" instead.
67              
68             =cut
69              
70             sub component {
71 4     4 1 17 my $self = shift;
72 4 50 33     20 $self->_component_accessor( WebService::Backlog::Component->new(@_) )
      33        
73             if ( @_ && $_[0] && $_[0]->{id} );
74 4         10 return $self->_component_accessor;
75             }
76              
77             sub components {
78 12     12 0 90 my $self = shift;
79 12 100 100     45 if ( @_ && ref( $_[0] ) eq 'ARRAY' ) {
80 2         5 my @components = ();
81 2         2 for my $c ( @{ $_[0] } ) {
  2         11  
82 4         31 push( @components, WebService::Backlog::Component->new($c) );
83             }
84 2         23 return $self->_components_accessor( \@components );
85             }
86 10         22 return $self->_components_accessor;
87             }
88              
89             sub resolution {
90 4     4 0 18 my $self = shift;
91 4 50 33     19 $self->_resolution_accessor( WebService::Backlog::Resolution->new(@_) )
      33        
92             if ( @_ && $_[0] && defined( $_[0]->{id} ) );
93 4         9 return $self->_resolution_accessor;
94             }
95              
96             =head2 version
97              
98             This method is deprecated.
99             use "versions" instead.
100              
101             =cut
102              
103             sub version {
104 4     4 1 16 my $self = shift;
105 4 50 33     17 $self->_version_accessor( WebService::Backlog::Version->new(@_) )
      33        
106             if ( @_ && $_[0] && $_[0]->{id} );
107 4         8 return $self->_version_accessor;
108             }
109              
110             sub versions {
111 8     8 0 39 my $self = shift;
112 8 100 100     41 if ( @_ && ref( $_[0] ) eq 'ARRAY' ) {
113 1         3 my @versions = ();
114 1         3 for my $c ( @{ $_[0] } ) {
  1         3  
115 3         30 push( @versions, WebService::Backlog::Version->new($c) );
116             }
117 1         12 return $self->_versions_accessor( \@versions );
118             }
119 7         20 return $self->_versions_accessor;
120             }
121              
122             sub status {
123 4     4 0 20 my $self = shift;
124 4 50       21 $self->_status_accessor( WebService::Backlog::Status->new(@_) ) if (@_);
125 4         47 return $self->_status_accessor;
126             }
127              
128             =head2 version
129              
130             This method is deprecated.
131             use "milestones" instead.
132              
133             =cut
134              
135             sub milestone {
136 4     4 0 15 my $self = shift;
137 4 50 33     18 $self->_milestone_accessor( WebService::Backlog::Version->new(@_) )
      33        
138             if ( @_ && $_[0] && $_[0]->{id} );
139 4         10 return $self->_milestone_accessor;
140             }
141              
142             sub milestones {
143 6     6 0 30 my $self = shift;
144 6 50 66     27 if ( @_ && ref( $_[0] ) eq 'ARRAY' ) {
145 0         0 my @milestones = ();
146 0         0 for my $c ( @{ $_[0] } ) {
  0         0  
147 0         0 push( @milestones, WebService::Backlog::Version->new($c) );
148             }
149 0         0 return $self->_milestones_accessor( \@milestones );
150             }
151 6         14 return $self->_milestones_accessor;
152             }
153              
154             sub created_user {
155 4     4 0 17 my $self = shift;
156 4 50       120 $self->_created_user_accessor( WebService::Backlog::User->new(@_) ) if (@_);
157 4         55 return $self->_created_user_accessor;
158             }
159              
160             sub assigner {
161 4     4 0 18 my $self = shift;
162 4 50 33     25 $self->_assigner_accessor( WebService::Backlog::User->new(@_) )
      33        
163             if ( @_ && $_[0] && $_[0]->{id} );
164 4         20 return $self->_assigner_accessor;
165             }
166              
167             sub assignee {
168 0     0 0   my $self = shift;
169 0           return $self->assigner(@_);
170             }
171              
172             1;
173             __END__