File Coverage

blib/lib/Net/IP/Identifier/Plugin/Sagonet.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::Sagonet
3             # ABSTRACT: identify Sagonet (AS21840) owned IP addresses
4             #
5             # AUTHOR: Reid Augustin (REID)
6             # EMAIL: reid@hellosix.com
7             # CREATED: Sat Nov 8 15:59:36 PST 2014
8             #===============================================================================
9              
10 1     1   20 use 5.008;
  1         5  
  1         37  
11 1     1   4 use strict;
  1         2  
  1         41  
12 1     1   6 use warnings;
  1         1  
  1         38  
13              
14             # _ENTITY_REGEX_ sago.?net
15              
16             package Net::IP::Identifier::Plugin::Sagonet;
17              
18 1     1   13 use Role::Tiny::With;
  1         2  
  1         153  
19             with qw( Net::IP::Identifier_Role );
20              
21             our $VERSION = '0.111'; # VERSION
22              
23             sub new {
24 1     1 1 3 my ($class, %opts) = @_;
25              
26 1         3 my $self = {};
27 1   33     7 bless $self, (ref $class || $class);
28              
29             # List of known Sagonet (AS21840) IP blocks as of May 2015
30 1         5 $self->ips(
31             # 7 Network Blocks
32             '45.56.192.0/18',
33             '64.16.192.0/19',
34             '65.110.32.0/19',
35             '66.118.128.0/18',
36             '104.243.208.0/20',
37             '104.247.64.0/19',
38             '207.150.160.0/19',
39             );
40 1         6 return $self;
41             }
42              
43             sub name {
44 3     3 0 48 return 'Sagonet';
45             }
46              
47             1;
48              
49             __END__