File Coverage

blib/lib/Net/IP/Identifier/Plugin/WholeSale.pm
Criterion Covered Total %
statement 19 19 100.0
branch n/a
condition 1 3 33.3
subroutine 7 7 100.0
pod 1 3 33.3
total 28 32 87.5


line stmt bran cond sub pod time code
1             #===============================================================================
2             # PODNAME: Net::IP::Identifier::Plugin::WholeSale
3             # ABSTRACT: identify WholeSale Internet (AS32097) owned IP addresses
4             #
5             # AUTHOR: Reid Augustin (REID)
6             # EMAIL: reid@hellosix.com
7             # CREATED: Tue Nov 11 13:13:47 PST 2014
8             #===============================================================================
9              
10 1     1   16 use 5.008;
  1         2  
  1         44  
11 1     1   7 use strict;
  1         2  
  1         49  
12 1     1   5 use warnings;
  1         2  
  1         34  
13              
14             package Net::IP::Identifier::Plugin::WholeSale;
15              
16 1     1   4 use Role::Tiny::With;
  1         2  
  1         184  
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         2 my $self = {};
25 1   33     7 bless $self, (ref $class || $class);
26              
27             # List of known WholeSale Internet (AS32097) IP blocks as of May 2015
28             # (apparently associated with Datashack and Zhou Pizhong)
29 1         4 $self->ips(
30             '69.30.192.0/18',
31             '69.197.128.0/18',
32             '118.107.0.0/18',
33             '173.208.128.0/17',
34             '185.22.142.0/23',
35             '204.12.192.0/18',
36             '208.67.0.0/21',
37             '208.110.64.0/19',
38             '210.79.16.0/20',
39             '2001:4858::/32',
40             # 10 Network Blocks
41             );
42 1         8 return $self;
43             }
44              
45             sub name {
46 3     3 0 10 return 'WholeSale';
47             }
48              
49             sub children {
50 1     1 0 4 return 'DataShack';
51             }
52              
53             1;
54              
55             __END__