File Coverage

lib/Net/ISC/DHCPd/Config/Host/FixedAddress.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::Host::FixedAddress;
2              
3             =head1 NAME
4              
5             Net::ISC::DHCPd::Config::Host::FixedAddress - IP address for Hosts
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
14              
15             fixed-address $value_attribute_value;
16              
17             =head1 SYNOPSIS
18              
19             See L<Net::ISC::DHCPd::Config/SYNOPSIS>.
20              
21             =cut
22              
23 24     24   26635 use Moose;
  24         48  
  24         201  
24              
25             with 'Net::ISC::DHCPd::Config::Role';
26              
27             =head1 ATTRIBUTES
28              
29             =head2 value
30              
31             Value of the option - See L</DESCRIPTION> for details.
32              
33             =cut
34              
35             has value => (
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              
46 41     41 1 388 sub regex { qr{^\s* fixed-address \s+ (.*) ;}x }
47              
48             =head1 METHODS
49              
50             =head2 captured_to_args
51              
52             See L<Net::ISC::DHCPd::Config::Role/captured_to_args>.
53              
54             =cut
55              
56             sub captured_to_args {
57 14     14 1 34 my $value = shift;
58              
59             return {
60 14         60 value => $value,
61             };
62             }
63              
64             =head2 generate
65              
66             See L<Net::ISC::DHCPd::Config::Role/generate>.
67              
68             =cut
69              
70             sub generate {
71 2     2 1 3 my $self = shift;
72 2         77 return sprintf qq(fixed-address %s;), $self->value;
73             }
74              
75             =head1 COPYRIGHT & LICENSE
76              
77             =head1 AUTHOR
78              
79             See L<Net::ISC::DHCPd>.
80              
81             =cut
82             __PACKAGE__->meta->make_immutable;
83             1;