File Coverage

lib/Net/ISC/DHCPd/Config/Authoritative.pm
Criterion Covered Total %
statement 8 8 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod 3 3 100.0
total 15 15 100.0


line stmt bran cond sub pod time code
1             package Net::ISC::DHCPd::Config::Authoritative;
2              
3             =head1 NAME
4              
5             Net::ISC::DHCPd::Config::Authoritative - Yeah, it's a special parser for one statement
6              
7             =head1 DESCRIPTION
8              
9             See L<Net::ISC::DHCPd::Config::Role> for methods and attributes without
10             documentation.
11              
12             An instance from this class, comes from / will produce one of the
13             lines below, dependent on L</quoted>.
14              
15             authoritative;
16              
17             =head1 SYNOPSIS
18              
19             See L<Net::ISC::DHCPd::Config/SYNOPSIS>.
20              
21             =cut
22              
23 24     24   340915 use Moose;
  24         65  
  24         243  
24              
25             with 'Net::ISC::DHCPd::Config::Role';
26              
27             =head1 ATTRIBUTES
28              
29             =head2 name
30              
31             Name of the option - See L</DESCRIPTION> for details.
32              
33             =cut
34              
35             has space => (
36             is => 'ro',
37             isa => 'Str',
38             );
39              
40             =head2 regex
41              
42             See L<Net::ISC::DHCPd::Config::Role/regex>.
43              
44             =cut
45 36     36 1 403 sub regex { qr{^\s* authoritative (\s*) ;}x }
46              
47             =head1 METHODS
48              
49             =head2 captured_to_args
50              
51             See L<Net::ISC::DHCPd::Config::Role/captured_to_args>.
52              
53             =cut
54              
55             sub captured_to_args {
56 3     3 1 7 my $space = shift;
57              
58             return {
59 3         14 space => $space,
60             };
61             }
62              
63             =head2 generate
64              
65             See L<Net::ISC::DHCPd::Config::Role/generate>.
66              
67             =cut
68              
69             sub generate {
70 3     3 1 7 my $self = shift;
71 3         115 return sprintf qq(authoritative%s;), $self->space;
72             }
73              
74             =head1 COPYRIGHT & LICENSE
75              
76             =head1 AUTHOR
77              
78             See L<Net::ISC::DHCPd>.
79              
80             =cut
81             __PACKAGE__->meta->make_immutable;
82             1;