File Coverage

blib/lib/Net/IP/Identifier/Plugin/OVH.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::OVH
3             # ABSTRACT: identify OVH (AS16276) owned IP addresses
4             #
5             # AUTHOR: Reid Augustin (REID)
6             # EMAIL: reid@hellosix.com
7             # CREATED: Tue Nov 11 10:29:26 PST 2014
8             #===============================================================================
9              
10 1     1   23 use 5.008;
  1         2  
  1         35  
11 1     1   4 use strict;
  1         2  
  1         39  
12 1     1   9 use warnings;
  1         2  
  1         37  
13              
14             package Net::IP::Identifier::Plugin::OVH;
15              
16 1     1   3 use Role::Tiny::With;
  1         2  
  1         159  
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 OVH (AS16276) IP blocks as of May 2015
28 1         4 $self->ips(
29             # 24 Network Blocks
30             '5.39.0.0/17',
31             '5.135.0.0/16',
32             '5.196.0.0/16',
33             '37.59.0.0/16',
34             '37.187.0.0/16',
35             '46.105.0.0/16',
36             '87.98.128.0/17',
37             '91.121.0.0/16',
38             '92.222.0.0/16',
39             '94.23.0.0/16',
40             '109.190.0.0/16',
41             '142.4.192.0/19',
42             '167.114.0.0/16',
43             '176.31.0.0/16',
44             '178.32.0.0/15',
45             '188.165.0.0/16',
46             '192.95.0.0/18',
47             '192.99.0.0/16',
48             '198.27.64.0/18',
49             '198.50.128.0/17',
50             '198.100.144.0/20',
51             '198.245.48.0/20',
52             '213.186.32.0/19',
53             '213.251.128.0/18',
54             );
55 1         7 return $self;
56             }
57              
58             sub name {
59 3     3 0 10 return 'OVH';
60             }
61              
62             1;
63              
64             __END__