File Coverage

blib/lib/App/Midgen/Role/Attributes.pm
Criterion Covered Total %
statement 15 23 65.2
branch 0 4 0.0
condition 0 3 0.0
subroutine 5 7 71.4
pod n/a
total 20 37 54.0


line stmt bran cond sub pod time code
1             package App::Midgen::Role::Attributes;
2              
3 2     2   1375 use constant {TRUE => 1, FALSE => 0,};
  2         5  
  2         193  
4              
5 2     2   12 use Types::Standard qw( ArrayRef Bool Int Object Str);
  2         2  
  2         20  
6 2     2   1570 use Moo::Role;
  2         4  
  2         13  
7             requires qw( experimental format );
8              
9             # Load time and dependencies negate execution time
10             # use namespace::clean -except => 'meta';
11              
12             our $VERSION = '0.33_05';
13             $VERSION = eval $VERSION; ## no critic
14              
15 2     2   667 use Carp;
  2         5  
  2         960  
16              
17             #######
18             # some encapsulated -> attributes
19             #######
20              
21             has 'develop' => (
22             is => 'ro',
23             isa => Bool,
24             lazy => 1,
25             builder => '_develop',
26             );
27              
28             sub _develop {
29 0     0     my $self = shift;
30              
31 0 0 0       if ( $self->experimental && ( $self->format =~ m/cpanfile|metajson|dist/) ) {
32 0           return 1;
33             } else {
34 0           return 0;
35             }
36             }
37              
38             has 'distribution_name' => (
39             is => 'rwp',
40             isa => Str,
41             lazy => 1,
42             );
43              
44             has 'found_twins' => (
45             is => 'rwp',
46             isa => Bool,
47             lazy => 1,
48             default => sub {
49             0;
50             },
51             );
52              
53             has 'meta2' => (
54             is => 'ro',
55             isa => Bool,
56             lazy => 1,
57             builder => '_meta2',
58             );
59              
60             sub _meta2 {
61 0     0     my $self = shift;
62              
63 0 0         if ( $self->format =~ m/cpanfile|metajson|dist/ ) {
64 0           return TRUE;
65             } else {
66 0           return FALSE;
67             }
68             }
69              
70             has 'numify' => (
71             is => 'ro',
72             isa => Bool,
73             default => sub {0},
74             lazy => 1,
75             );
76              
77             has 'package_names' => (
78             is => 'rw',
79             isa => ArrayRef,
80             default => sub { [] },
81             lazy => 1,
82             );
83              
84             has 'phase_relationship' => (
85             is => 'rwp',
86             isa => Str,
87             lazy => 1,
88             default => sub { },
89             );
90              
91             has 'ppi_document' => (
92             is => 'rwp',
93             isa => Object,
94             lazy => 1,
95             );
96              
97             has 'xtest' => (
98             is => 'rwp',
99             isa => Bool,
100             lazy => 1,
101             default => sub {
102             return FALSE;
103             },
104             );
105              
106             has 'looking_infile' => (
107             is => 'rwp',
108             isa => Str,
109             lazy => 1,
110             default => sub { },
111             );
112              
113 2     2   13 no Moo::Role;
  2         2  
  2         9  
114              
115             1;
116              
117             __END__
118              
119             =pod
120              
121             =encoding UTF-8
122              
123             =head1 NAME
124              
125             App::Midgen::Role::Attributes - Package Attributes used by L<App::Midgen>
126              
127             =head1 VERSION
128              
129             version: 0.33_05
130              
131             =head1 METHODS
132              
133             none as such, but we do have
134              
135             =head2 ATTRIBUTES
136              
137             =over 4
138              
139             =item * develop
140              
141             =item * distribution_name
142              
143             =item * found_twins
144              
145             =item * numify
146              
147             =item * package_names
148              
149             =item * ppi_document
150              
151             =item * xtest
152              
153             =back
154              
155             =head1 SEE ALSO
156              
157             L<App::Midgen>,
158              
159             =head1 AUTHOR
160              
161             See L<App::Midgen>
162              
163             =head2 CONTRIBUTORS
164              
165             See L<App::Midgen>
166              
167             =head1 COPYRIGHT
168              
169             See L<App::Midgen>
170              
171             =head1 LICENSE
172              
173             This library is free software; you can redistribute it and/or modify
174             it under the same terms as Perl itself.
175              
176             =cut