File Coverage

blib/lib/WWW/NOS/Open/Version.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod n/a
total 31 31 100.0


line stmt bran cond sub pod time code
1             # -*- cperl; cperl-indent-level: 4 -*-
2             # Copyright (C) 2011-2021, Roland van Ipenburg
3             package WWW::NOS::Open::Version v1.0.4;
4 4     4   34 use strict;
  4         10  
  4         139  
5 4     4   31 use warnings;
  4         9  
  4         115  
6              
7 4     4   22 use utf8;
  4         7  
  4         29  
8 4     4   143 use 5.014000;
  4         14  
9              
10 4     4   36 use Moose qw/around has/;
  4         11  
  4         25  
11 4     4   22025 use namespace::autoclean '-also' => qr/^__/sxm;
  4         12  
  4         50  
12              
13 4     4   332 use Readonly;
  4         17  
  4         979  
14             Readonly::Scalar my $UNDER => q{_};
15             Readonly::Scalar my $GETTER => q{get};
16              
17             my @strings = qw(version build);
18             while ( my $string = shift @strings ) {
19             has $UNDER
20             . $string => (
21             'is' => 'ro',
22             'isa' => 'Str',
23             'reader' => $GETTER . $UNDER . $string,
24             'init_arg' => $string,
25             );
26             }
27              
28             around 'BUILDARGS' => sub {
29             my $orig = shift;
30             my $class = shift;
31             my ( $version, $build ) = @_;
32             return $class->$orig(
33             'version' => $version,
34             'build' => $build,
35             );
36             };
37              
38 4     4   38 no Moose;
  4         10  
  4         33  
39              
40             __PACKAGE__->meta->make_immutable;
41              
42             1;
43              
44             __END__
45              
46             =encoding utf8
47              
48             =for stopwords Bitbucket Ipenburg MERCHANTABILITY
49              
50             =head1 NAME
51              
52             WWW::NOS::Open::Version - version of the Open NOS REST API.
53              
54             =head1 VERSION
55              
56             This document describes WWW::NOS::Open version C<v1.0.4>.
57              
58             =head1 SYNOPSIS
59              
60             use WWW::NOS::Open::Version;
61              
62             =head1 DESCRIPTION
63              
64             =head1 SUBROUTINES/METHODS
65              
66             =head2 C<new>
67              
68             =over
69              
70             =item 1. The version number as string, like C<'v1'>
71              
72             =item 2. The build number as string, like C<'0.0.1'>
73              
74             =back
75              
76             =head2 C<get_version>
77              
78             Returns the version number as string.
79              
80             =head2 C<get_build>
81              
82             Returns the build number as string.
83              
84             =head1 CONFIGURATION AND ENVIRONMENT
85              
86             =head1 DEPENDENCIES
87              
88             =over 4
89              
90             =item * L<Moose|Moose>
91              
92             =item * L<namespace::autoclean|namespace::autoclean>
93              
94             =back
95              
96             =head1 INCOMPATIBILITIES
97              
98             =head1 DIAGNOSTICS
99              
100             =head1 BUGS AND LIMITATIONS
101              
102             Please report any bugs or feature requests at
103             L<Bitbucket|https://bitbucket.org/rolandvanipenburg/www-nos-open/issues>.
104              
105             =head1 AUTHOR
106              
107             Roland van Ipenburg, E<lt>roland@rolandvanipenburg.comE<gt>
108              
109             =head1 LICENSE AND COPYRIGHT
110              
111             Copyright 2011-2021 by Roland van Ipenburg
112              
113             This library is free software; you can redistribute it and/or modify
114             it under the same terms as Perl itself, either Perl version 5.14.0 or,
115             at your option, any later version of Perl 5 you may have available.
116              
117             =head1 DISCLAIMER OF WARRANTY
118              
119             BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
120             FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
121             OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
122             PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
123             EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
124             WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
125             ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
126             YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
127             NECESSARY SERVICING, REPAIR, OR CORRECTION.
128              
129             IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
130             WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
131             REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENSE, BE
132             LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
133             OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
134             THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
135             RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
136             FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
137             SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
138             SUCH DAMAGES.
139              
140             =cut