File Coverage

blib/lib/Net/DHCP/Config/Utilities/Generator/ISC_DHCPD.pm
Criterion Covered Total %
statement 61 78 78.2
branch 23 44 52.2
condition 2 6 33.3
subroutine 8 8 100.0
pod 2 2 100.0
total 96 138 69.5


line stmt bran cond sub pod time code
1             package Net::DHCP::Config::Utilities::Generator::ISC_DHCPD;
2              
3 1     1   710 use 5.006;
  1         3  
4 1     1   4 use strict;
  1         1  
  1         16  
5 1     1   3 use warnings;
  1         2  
  1         32  
6 1     1   463 use Template;
  1         16944  
  1         29  
7 1     1   7 use Net::DHCP::Config::Utilities::Options;
  1         2  
  1         18  
8 1     1   406 use String::ShellQuote;
  1         725  
  1         801  
9              
10             =head1 NAME
11              
12             Net::DHCP::Config::Utilities::Generator::ISC_DHCPD - Generates a config for ISC DHCPD from the supplied subnets.
13              
14             =head1 VERSION
15              
16             Version 0.1.0
17              
18             =cut
19              
20             our $VERSION = '0.1.0';
21              
22              
23             =head1 SYNOPSIS
24              
25             use Net::DHCP::Config::Utilities::Generator::ISC_DHCPD;
26            
27             my $options={
28             output=>'./dhcp/dhcpd.conf',
29             header=>'./dhcp/header.tt',
30             footer=>'./dhcp/footer.tt',
31             args=>{},
32             };
33            
34             my $generator = Net::DHCP::Config::Utilities::Subnet->new( $options );
35            
36             eval{
37             $generator->generate( $dhcp_util );
38             };
39             if ( $@ ){
40             # do something upon error
41             die ( $@ );
42             }
43            
44             # just return it and don't write it output
45             my $config;
46             eval{
47             $config=$generator->generate( $dhcp_util );
48             };
49             if ( $@ ){
50             # do something upon error
51             die ( $@ );
52             }
53             print $config;
54              
55             =head1 METHODS
56              
57             =head2 new
58              
59             This initiates the object.
60              
61             my $options={
62             output=>'./dhcp/dhcpd.conf',
63             header=>'./dhcp/header.tt',
64             footer=>'./dhcp/footer.tt',
65             vars=>{},
66             };
67            
68             my $generator = Net::DHCP::Config::Utilities::Generator::ISC_DHCPD->new( $options );
69              
70             =head3 args
71              
72             =head4 output
73              
74             This is the file to write the output too.
75              
76             =head4 header
77              
78             This is the header template to use.
79              
80             =head4 footer
81              
82             This is the footer teomplate to use.
83              
84             =head4 vars
85              
86             This is a hash containing values to pass to L