File Coverage

blib/lib/WWW/NOS/Open/TypeDef.pm
Criterion Covered Total %
statement 38 38 100.0
branch n/a
condition n/a
subroutine 13 13 100.0
pod n/a
total 51 51 100.0


line stmt bran cond sub pod time code
1             package WWW::NOS::Open::TypeDef 0.101; # -*- cperl; cperl-indent-level: 4 -*-
2 5     5   32 use strict;
  5         19  
  5         139  
3 5     5   24 use warnings;
  5         12  
  5         135  
4              
5 5     5   24 use utf8;
  5         9  
  5         36  
6 5     5   170 use 5.014000;
  5         15  
7              
8 5     5   3323 use DateTime;
  5         1920861  
  5         223  
9 5     5   2614 use Date::Parse;
  5         10375  
  5         587  
10 5     5   36 use Moose qw/around has with/;
  5         13  
  5         46  
11 5     5   26848 use Moose::Util::TypeConstraints qw/as coerce from where subtype via/;
  5         12  
  5         51  
12 5     5   4605 use MooseX::Types '-declare' => [qw(NOSURI NOSDateTime)];
  5         11  
  5         51  
13 5     5   25162 use MooseX::Types::Moose qw/Str/;
  5         13  
  5         37  
14 5     5   21403 use URI;
  5         12  
  5         240  
15 5     5   32 use namespace::autoclean '-also' => qr/^__/sxm;
  5         11  
  5         85  
16              
17             ## no critic qw(ProhibitCallsToUndeclaredSubs)
18             class_type NOSURI, { 'class' => 'URI' };
19             coerce NOSURI, from Str, via { URI->new($_) };
20              
21             class_type NOSDateTime, { 'class' => 'DateTime' };
22             coerce NOSDateTime,
23             ## use critic
24             from Str,
25             via { DateTime->from_epoch( 'epoch' => Date::Parse::str2time($_) ) };
26              
27 5     5   969 no Moose;
  5         11  
  5         36  
28              
29             __PACKAGE__->meta->make_immutable;
30              
31             1;
32              
33             __END__
34              
35             =encoding utf8
36              
37             =for stopwords DateTime URI Ipenburg MERCHANTABILITY
38              
39             =head1 NAME
40              
41             WWW::NOS::Open::TypeDef - types for the Open NOS REST API.
42              
43             =head1 VERSION
44              
45             This document describes WWW::NOS::Open::TypeDef version 0.101.
46              
47             =head1 SYNOPSIS
48              
49             use WWW::NOS::Open::TypeDef qw(NOSDateTime NOSURI);
50              
51             =head1 DESCRIPTION
52              
53             =head1 SUBROUTINES/METHODS
54              
55             =head1 CONFIGURATION AND ENVIRONMENT
56              
57             =head1 DEPENDENCIES
58              
59             =over 4
60              
61             =item * L<DateTime|DateTime>
62              
63             =item * L<Date::Parse|Date::Parse>
64              
65             =item * L<Moose|Moose>
66              
67             =item * L<Moose::Util::TypeConstraints|Moose::Util::TypeConstraints>
68              
69             =item * L<MooseX::Types|MooseX::Types>
70              
71             =item * L<MooseX::Types::Moose|MooseX::Types::Moose>
72              
73             =item * L<URI|URI>
74              
75             =item * L<namespace::autoclean|namespace::autoclean>
76              
77             =back
78              
79             =head1 INCOMPATIBILITIES
80              
81             =head1 DIAGNOSTICS
82              
83             =head1 BUGS AND LIMITATIONS
84              
85             Please report any bugs or feature requests at
86             L<RT for rt.cpan.org|https://rt.cpan.org/Dist/Display.html?Queue=WWW-NOS-Open>.
87              
88             =head1 AUTHOR
89              
90             Roland van Ipenburg, E<lt>ipenburg@xs4all.nlE<gt>
91              
92             =head1 LICENSE AND COPYRIGHT
93              
94             Copyright 2012 by Roland van Ipenburg
95              
96             This library is free software; you can redistribute it and/or modify
97             it under the same terms as Perl itself, either Perl version 5.14.0 or,
98             at your option, any later version of Perl 5 you may have available.
99              
100             =head1 DISCLAIMER OF WARRANTY
101              
102             BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
103             FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
104             OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
105             PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
106             EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
107             WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
108             ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
109             YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
110             NECESSARY SERVICING, REPAIR, OR CORRECTION.
111              
112             IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
113             WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
114             REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENSE, BE
115             LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
116             OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
117             THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
118             RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
119             FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
120             SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
121             SUCH DAMAGES.
122              
123             =cut