File Coverage

blib/lib/WebService/PivotalTracker/Comment.pm
Criterion Covered Total %
statement 18 20 90.0
branch n/a
condition n/a
subroutine 6 7 85.7
pod n/a
total 24 27 88.8


line stmt bran cond sub pod time code
1             package WebService::PivotalTracker::Comment;
2              
3 1     1   6 use strict;
  1         2  
  1         24  
4 1     1   4 use warnings;
  1         2  
  1         19  
5 1     1   4 use namespace::autoclean;
  1         2  
  1         4  
6              
7             our $VERSION = '0.12';
8              
9 1     1   70 use WebService::PivotalTracker::PropertyAttributes;
  1         2  
  1         46  
10             use WebService::PivotalTracker::Types
11 1     1   6 qw( ArrayRef DateTimeObject Maybe NonEmptyStr PositiveInt );
  1         2  
  1         5  
12              
13 1     1   1114 use Moo;
  1         2  
  1         5  
14              
15             has( @{$_} ) for props_to_attributes(
16             id => PositiveInt,
17             story_id => Maybe [PositiveInt],
18             epic_id => Maybe [PositiveInt],
19             text => NonEmptyStr,
20             person_id => PositiveInt,
21             created_at => {
22             type => DateTimeObject,
23             inflator => '_inflate_iso8601_datetime',
24             },
25             updated_at => {
26             type => DateTimeObject,
27             inflator => '_inflate_iso8601_datetime',
28             },
29             file_attachment_ids => ArrayRef [PositiveInt],
30             google_attachment_ids => ArrayRef [PositiveInt],
31             commit_identifier => Maybe [NonEmptyStr],
32             commit_type => Maybe [NonEmptyStr],
33             kind => NonEmptyStr,
34             );
35              
36             with 'WebService::PivotalTracker::Entity';
37              
38             ## no critic (Subroutines::ProhibitUnusedPrivateSubroutines)
39             sub _self_uri {
40 0     0     my $self = shift;
41              
42 0           return $self->_client->build_uri(
43             sprintf(
44             '/projects/%s/stories/%s/comments/%s',
45             $self->project_id,
46             $self->story_id,
47             $self->id,
48             )
49             );
50             }
51             ## use critic
52              
53             1;
54              
55             # ABSTRACT: A story comment
56              
57             __END__
58              
59             =pod
60              
61             =encoding UTF-8
62              
63             =head1 NAME
64              
65             WebService::PivotalTracker::Comment - A story comment
66              
67             =head1 VERSION
68              
69             version 0.12
70              
71             =head1 SYNOPSIS
72              
73             =head1 DESCRIPTION
74              
75             This class represents a single comment on a story or epic.
76              
77             =for Test::Synopsis my $story;
78              
79             my $comment = $story->comments->[0];
80             say $comment->text;
81              
82             =head1 ATTRIBUTES
83              
84             This class provides the following attribute accessor methods. Each one
85             corresponds to a property defined by the L<PT REST API V5 comment resource
86             docs|https://www.pivotaltracker.com/help/api/rest/v5#comment_resource>.
87              
88             =head2 id
89              
90             =head2 story_id
91              
92             This will be C<undef> for epic comments.
93              
94             =head2 epic_id
95              
96             This will be C<undef> for story comments.
97              
98             =head2 text
99              
100             The text in Markdown.
101              
102             =head2 person_id
103              
104             =head2 created_at
105              
106             This will be returned as a L<DateTime> object.
107              
108             =head2 updated_at
109              
110             This will be returned as a L<DateTime> object.
111              
112             =head2 file_attachment_ids
113              
114             An arrayref of ids.
115              
116             =head2 google_attachment_ids
117              
118             An arrayref of ids.
119              
120             =head2 commit_identifier
121              
122             =head2 commit_type
123              
124             =head2 kind
125              
126             =head2 raw_content
127              
128             The raw JSON used to create this object.
129              
130             =head1 SUPPORT
131              
132             Bugs may be submitted through L<https://github.com/maxmind/WebService-PivotalTracker/issues>.
133              
134             =head1 AUTHOR
135              
136             Dave Rolsky <autarch@urth.org>
137              
138             =head1 COPYRIGHT AND LICENSE
139              
140             This software is Copyright (c) 2016 - 2020 by MaxMind, Inc.
141              
142             This is free software, licensed under:
143              
144             The Artistic License 2.0 (GPL Compatible)
145              
146             =cut