File Coverage

blib/lib/Siebel/Srvrmgr/Types.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1             package Siebel::Srvrmgr::Types;
2              
3 37     37   337 use warnings;
  37         95  
  37         1438  
4 37     37   240 use strict;
  37         87  
  37         1101  
5 37     37   235 use Moose::Util::TypeConstraints 2.0402;
  37         936  
  37         367  
6             our $VERSION = '0.29'; # VERSION
7              
8             =pod
9              
10             =head1 NAME
11              
12             Siebel::Srvrmgr::Types - definition of types restrictions for Siebel::Srvrmgr
13              
14             =head1 SYNOPSIS
15              
16             use Siebel::Srvrmgr::Types;
17              
18             =head1 DESCRIPTION
19              
20             This module defines types restrictions for L<Siebel::Srvrmgr> classes usage based on L<Moose::Util::TypeConstraints>.
21              
22             =head1 EXPORTS
23              
24             Nothing. Just use the module is enough to have types restrictions definitions.
25              
26             =cut
27              
28             =head2 NotNullStr
29              
30             A subtype of 'Str' but do not accept undefined or empty strings.
31              
32             =cut
33              
34             subtype 'NotNullStr', as 'Str',
35             where { ( defined($_) ) and ( $_ ne '' ) },
36             message { 'This attribute value must be a defined, non-empty string' };
37              
38             =head2 Chr
39              
40             A subtype of 'Str' but for a single character only.
41              
42             =cut
43              
44             subtype 'Chr', as 'Str',
45             where { ( defined($_) ) and ( $_ ne '' ) and ( length($_) == 1 ) },
46             message { 'This attribute value must be a defined, non-empty string with a single character' };
47              
48             =head2 OutputTabularType
49              
50             A subtype of 'Str' that must be defined and equal to "fixed" or "delimited".
51              
52             =cut
53              
54             subtype 'OutputTabularType', as 'Str',
55             where { ( ( defined($_) ) and ( ( $_ eq 'fixed' ) or ( $_ eq 'delimited' ) ) ) },
56             message { 'This attribute value must be a defined, non-empty string equal "fixed" or "delimited"' };
57              
58             =head2 CheckCompsComp
59              
60             Definition of type for instances of L<Siebel::Srvrmgr::Daemon::Action::Check::Component> class.
61              
62             =cut
63              
64             role_type 'CheckCompsComp',
65             { role => 'Siebel::Srvrmgr::Daemon::Action::Check::Component' };
66              
67 37     37   100988 no Moose::Util::TypeConstraints;
  37         95  
  37         251  
68              
69             =head1 AUTHOR
70              
71             Alceu Rodrigues de Freitas Junior, E<lt>arfreitas@cpan.orgE<gt>
72              
73             =head1 COPYRIGHT AND LICENSE
74              
75             This software is copyright (c) 2013 of Alceu Rodrigues de Freitas Junior, E<lt>arfreitas@cpan.orgE<gt>
76              
77             This file is part of Siebel Monitoring Tools.
78              
79             Siebel Monitoring Tools is free software: you can redistribute it and/or modify
80             it under the terms of the GNU General Public License as published by
81             the Free Software Foundation, either version 3 of the License, or
82             (at your option) any later version.
83              
84             Siebel Monitoring Tools is distributed in the hope that it will be useful,
85             but WITHOUT ANY WARRANTY; without even the implied warranty of
86             MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
87             GNU General Public License for more details.
88              
89             You should have received a copy of the GNU General Public License
90             along with Siebel Monitoring Tools. If not, see <http://www.gnu.org/licenses/>.
91              
92             =cut
93              
94             1;