File Coverage

blib/lib/WWW/Hetzner/Robot/IP.pm
Criterion Covered Total %
statement 6 13 46.1
branch 0 8 0.0
condition n/a
subroutine 2 3 66.6
pod 1 1 100.0
total 9 25 36.0


line stmt bran cond sub pod time code
1             package WWW::Hetzner::Robot::IP;
2             # ABSTRACT: Hetzner Robot IP entity
3              
4             our $VERSION = '0.100';
5              
6 24     24   165 use Moo;
  24         52  
  24         165  
7 24     24   8919 use namespace::clean;
  24         53  
  24         161  
8              
9             has client => (
10             is => 'ro',
11             required => 1,
12             weak_ref => 1,
13             );
14              
15             has ip => ( is => 'ro', required => 1 );
16              
17              
18             has server_number => ( is => 'ro' );
19              
20              
21             has server_ip => ( is => 'ro' );
22              
23              
24             has locked => ( is => 'ro' );
25              
26              
27             has separate_mac => ( is => 'ro' );
28              
29              
30             has traffic_warnings => ( is => 'rw' );
31              
32              
33             has traffic_hourly => ( is => 'rw' );
34              
35              
36             has traffic_daily => ( is => 'rw' );
37              
38              
39             has traffic_monthly => ( is => 'rw' );
40              
41              
42             sub update {
43 0     0 1   my ($self) = @_;
44 0           my $body = {};
45 0 0         $body->{traffic_warnings} = $self->traffic_warnings if defined $self->traffic_warnings;
46 0 0         $body->{traffic_hourly} = $self->traffic_hourly if defined $self->traffic_hourly;
47 0 0         $body->{traffic_daily} = $self->traffic_daily if defined $self->traffic_daily;
48 0 0         $body->{traffic_monthly} = $self->traffic_monthly if defined $self->traffic_monthly;
49 0           return $self->client->post("/ip/" . $self->ip, $body);
50             }
51              
52              
53              
54             1.
55              
56             __END__