File Coverage

blib/lib/App/Config/Chronicle/Node.pm
Criterion Covered Total %
statement 8 8 100.0
branch 1 2 50.0
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 13 92.3


line stmt bran cond sub pod time code
1             package App::Config::Chronicle::Node;
2             $App::Config::Chronicle::Node::VERSION = '0.05';
3 1     1   419 use Moose;
  1         1  
  1         4  
4              
5             =head1 NAME
6              
7             App::Config::Chronicle::Node
8              
9             =head1 VERSION
10              
11             version 0.05
12              
13             =head1 DESCRIPTION
14              
15             This module represents a node in app_config tree
16              
17             =head1 ATTRIBUTES
18              
19             =cut
20              
21             =head2 name
22              
23             short name of the node
24              
25             =cut
26              
27             has name => (
28             is => 'ro',
29             isa => 'Str',
30             required => 1,
31             );
32              
33             =head2 parent_path
34              
35             path in dot notation of the parent node.
36              
37             =cut
38              
39             has parent_path => (
40             is => 'ro',
41             isa => 'Str',
42             );
43              
44             =head2 path
45              
46             path in dot notation of the current node.
47              
48             =cut
49              
50             has path => (
51             is => 'ro',
52             isa => 'Str',
53             lazy_build => 1,
54             );
55              
56             sub _build_path {
57 1     1   2 my $self = shift;
58 1 50       30 return (($self->parent_path) ? $self->parent_path . '.' : '') . $self->name;
59             }
60              
61             =head2 definition
62              
63             definition of this node from definitions.yml
64              
65             =cut
66              
67             has 'definition' => (
68             is => 'ro',
69             isa => 'HashRef',
70             required => 1,
71             );
72              
73             has 'data_set' => (
74             is => 'ro',
75             required => 1,
76             );
77              
78 1     1   3975 no Moose;
  1         1  
  1         4  
79             __PACKAGE__->meta->make_immutable;
80              
81             1;