File Coverage

blib/lib/Net/IP/Identifier/Plugin/LeaseWeb.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition 1 3 33.3
subroutine 6 6 100.0
pod 1 2 50.0
total 26 29 89.6


line stmt bran cond sub pod time code
1             #===============================================================================
2             # PODNAME: Net::IP::Identifier::Plugin::LeaseWeb
3             # ABSTRACT: identify LeaseWeb owned IP addresses
4             #
5             # AUTHOR: Reid Augustin (REID)
6             # EMAIL: reid@hellosix.com
7             # CREATED: Fri Mar 27 11:10:01 PDT 2015
8             #===============================================================================
9              
10 1     1   25 use 5.008;
  1         2  
  1         33  
11 1     1   4 use strict;
  1         2  
  1         33  
12 1     1   4 use warnings;
  1         2  
  1         44  
13              
14             package Net::IP::Identifier::Plugin::LeaseWeb;
15              
16 1     1   5 use Role::Tiny::With;
  1         2  
  1         233  
17             with qw( Net::IP::Identifier_Role );
18              
19             our $VERSION = '0.111'; # VERSION
20              
21             sub new {
22 1     1 1 2 my ($class, %opts) = @_;
23              
24 1         1 my $self = {};
25 1   33     7 bless $self, (ref $class || $class);
26              
27             # List of known LeaseWeb IP blocks as of May 2015
28 1         6 $self->ips(
29             # 45 Network Blocks
30             '5.79.64.0/18',
31             '31.31.32.0/21',
32             '37.48.64.0/18',
33             '37.58.48.0/20',
34             '43.249.36.0/22',
35             '46.165.192.0/18',
36             '46.182.120.0/21',
37             '62.212.64.0/19',
38             # extending 77.221.144.0/24 to include 77.221.145.0/24
39             '77.221.144.0/23',
40             '78.159.96.0/19',
41             '82.192.64.0/19',
42             '83.149.64.0/18',
43             '84.16.224.0/19',
44             '85.17.0.0/16',
45             '87.255.32.0/19',
46             '89.149.192.0/18',
47             '91.109.16.0/20',
48             '94.75.192.0/18',
49             '95.168.160.0/19',
50             '95.211.0.0/16',
51             '108.59.0.0/20',
52             '109.120.180.0/22',
53             '162.210.192.0/21',
54             '178.162.128.0/17',
55             '185.17.144.0/22',
56             '185.17.184.0/22',
57             # extending 185.28.68.0/24 to include 185.28.69.0/24
58             # extending 185.28.68.0/23 to include 185.28.70.0/24
59             # extending 185.28.68.0-185.28.70.255 to include 185.28.71.0/24
60             '185.28.68.0/22',
61             '188.72.192.0/18',
62             '192.96.200.0/21',
63             '198.7.56.0/21',
64             '199.58.84.0/22',
65             '199.115.112.0/21',
66             '207.244.64.0/18',
67             '209.58.128.0/18',
68             '209.192.128.0/17',
69             '212.95.32.0/19',
70             '217.20.112.0/20',
71             '2001:df1:800::/47',
72             '2001:1af8::/32',
73             '2604:9a00::/32',
74             '2a00:c98::/32',
75             '2a00:ec8::/32',
76             '2a00:9d20::/32',
77             '2a03:2280::/32',
78             '2a04:1880:1111::/48',
79             );
80 1         6 return $self;
81             }
82              
83             sub name {
84 3     3 0 11 return 'LEASEWEB';
85             }
86              
87             1;
88              
89             __END__