File Coverage

blib/lib/WebService/PivotalTracker/Types.pm
Criterion Covered Total %
statement 25 25 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod n/a
total 34 34 100.0


line stmt bran cond sub pod time code
1             package WebService::PivotalTracker::Types;
2              
3 1     1   6 use strict;
  1         2  
  1         29  
4 1     1   18 use warnings;
  1         3  
  1         55  
5              
6             our $VERSION = '0.12';
7              
8             use Type::Library
9 1         11 -base,
10             -declare => qw(
11             ClientObject
12             CommentObject
13             DateTimeObject
14             DayOfWeek
15             IterationScope
16             LabelObject
17             LWPObject
18             MD5Hex
19             PersonObject
20             ProjectType
21             PTAPIObject
22             StoryState
23             StoryType
24 1     1   385 );
  1         22218  
25 1     1   2010 use Type::Utils -all;
  1         3967  
  1         9  
26 1     1   3175 use Types::Common::Numeric;
  1         56512  
  1         9  
27 1     1   723 use Types::Common::String;
  1         19895  
  1         14  
28 1     1   320 use Types::Standard -types;
  1         2  
  1         6  
29 1     1   4752 use Types::URI;
  1         64616  
  1         16  
30              
31             BEGIN {
32 1     1   261 extends qw(
33             Types::Common::Numeric
34             Types::Common::String
35             Types::Standard
36             Types::URI
37             );
38             }
39              
40             class_type ClientObject, { class => 'WebService::PivotalTracker::Client' };
41              
42             class_type CommentObject, { class => 'WebService::PivotalTracker::Comment' };
43              
44             class_type DateTimeObject, { class => 'DateTime' };
45              
46             enum DayOfWeek, [
47             qw(
48             monday
49             tuesday
50             wednesday
51             thursday
52             friday
53             saturday
54             sunday
55             )
56             ];
57              
58             enum IterationScope, [
59             qw(
60             done
61             current
62             backlog
63             current_backlog
64             done_current
65             )
66             ];
67              
68             class_type LabelObject, { class => 'WebService::PivotalTracker::Label' };
69              
70             class_type LWPObject, { class => 'LWP::UserAgent' };
71              
72             declare MD5Hex,
73             as Defined,
74             where {m/^[0-9a-f]{32}$/i},
75             inline_as {
76             $_[0]->parent->inline_check( $_[1] ) . " && $_[1] =~ m/^[0-9a-f]{32}\$/i"
77             }
78             message {'token does not stringify to an MD5 string'};
79              
80             class_type PersonObject, { class => 'WebService::PivotalTracker::Person' };
81              
82             enum ProjectType, [
83             qw(
84             demo
85             private
86             public
87             shared
88             )
89             ];
90              
91             class_type PTAPIObject, { class => 'WebService::PivotalTracker' };
92              
93             enum StoryState, [
94             qw(
95             accepted
96             delivered
97             finished
98             started
99             rejected
100             planned
101             unstarted
102             unscheduled
103             )
104             ];
105              
106             enum StoryType, [qw( feature bug chore release )];
107              
108             1;
109              
110             # ABSTRACT: Type definitions used in this distro
111              
112             __END__
113              
114             =pod
115              
116             =encoding UTF-8
117              
118             =head1 NAME
119              
120             WebService::PivotalTracker::Types - Type definitions used in this distro
121              
122             =head1 VERSION
123              
124             version 0.12
125              
126             =head1 DESCRIPTION
127              
128             This package has no user-facing parts.
129              
130             =for Pod::Coverage *EVERYTHING*
131              
132             =head1 SUPPORT
133              
134             Bugs may be submitted through L<https://github.com/maxmind/WebService-PivotalTracker/issues>.
135              
136             =head1 AUTHOR
137              
138             Dave Rolsky <autarch@urth.org>
139              
140             =head1 COPYRIGHT AND LICENSE
141              
142             This software is Copyright (c) 2016 - 2020 by MaxMind, Inc.
143              
144             This is free software, licensed under:
145              
146             The Artistic License 2.0 (GPL Compatible)
147              
148             =cut