File Coverage

blib/lib/MooseX/Declare/StackItem.pm
Criterion Covered Total %
statement 14 14 100.0
branch 6 6 100.0
condition n/a
subroutine 5 5 100.0
pod 0 2 0.0
total 25 27 92.5


line stmt bran cond sub pod time code
1             package # hide from PAUSE
2             MooseX::Declare::StackItem;
3              
4 24     24   11121 use Moose;
  24         38  
  24         146  
5              
6 24     24   119405 use namespace::clean -except => 'meta';
  24         52  
  24         192  
7 24     24   5239 use overload '""' => 'as_string', fallback => 1;
  24         42  
  24         199  
8              
9             has identifier => (
10             is => 'rw',
11             isa => 'Str',
12             required => 1,
13             );
14              
15             has handler => (
16             is => 'ro',
17             required => 1,
18             default => '',
19             );
20              
21             has is_dirty => (
22             is => 'ro',
23             isa => 'Bool',
24             );
25              
26             has is_parameterized => (
27             is => 'ro',
28             isa => 'Bool',
29             );
30              
31             has namespace => (
32             is => 'ro',
33             isa => 'Str|Undef',
34              
35             );
36              
37             sub as_string {
38 136     136 0 1220 my ($self) = @_;
39 136         3750 return $self->identifier;
40             }
41              
42             sub serialize {
43 65     65 0 157 my ($self) = @_;
44 650 100       4264 return sprintf '%s->new(%s)',
45             ref($self),
46 65 100       2149 join ', ', map { defined($_) ? "q($_)" : 'undef' }
    100          
47             'identifier', $self->identifier,
48             'handler', $self->handler,
49             'is_dirty', ( $self->is_dirty ? 1 : 0 ),
50             'is_parameterized', ( $self->is_parameterized ? 1 : 0 ),
51             'namespace', $self->namespace,
52             ;
53             }
54              
55             __PACKAGE__->meta->make_immutable;
56              
57             1;