File Coverage

blib/lib/WebService/DigitalOcean/Role/Domains.pm
Criterion Covered Total %
statement 18 30 60.0
branch n/a
condition n/a
subroutine 6 10 60.0
pod 4 4 100.0
total 28 44 63.6


line stmt bran cond sub pod time code
1             package WebService::DigitalOcean::Role::Domains;
2             # ABSTRACT: Domains role for DigitalOcean WebService
3 2     2   1063 use utf8;
  2         4  
  2         15  
4 2     2   48 use Moo::Role;
  2         2  
  2         13  
5 2     2   461 use feature 'state';
  2         2  
  2         211  
6 2     2   8 use Types::Standard qw/Str Object Dict/;
  2         2  
  2         18  
7 2     2   2103 use Type::Utils;
  2         6523  
  2         14  
8 2     2   2618 use Type::Params qw/compile/;
  2         17385  
  2         18  
9              
10             requires 'make_request';
11              
12             our $VERSION = '0.025'; # VERSION
13              
14             sub domain_create {
15 0     0 1   state $check = compile(Object,
16             Dict[
17             name => Str,
18             ip_address => Str,
19             ],
20             );
21 0           my ($self, $opts) = $check->(@_);
22              
23 0           return $self->make_request(POST => '/domains', $opts);
24             }
25              
26             sub domain_list {
27 0     0 1   state $check = compile(Object);
28 0           my ($self) = $check->(@_);
29              
30 0           return $self->make_request(GET => '/domains');
31             }
32              
33             sub domain_get {
34 0     0 1   state $check = compile(Object, Str);
35 0           my ($self, $domain) = $check->(@_);
36              
37 0           return $self->make_request(GET => "/domains/$domain");
38             }
39              
40             sub domain_delete {
41 0     0 1   state $check = compile(Object, Str);
42 0           my ($self, $domain) = $check->(@_);
43              
44 0           return $self->make_request(DELETE => "/domains/$domain");
45             }
46              
47             1;
48              
49             __END__
50              
51             =pod
52              
53             =encoding UTF-8
54              
55             =head1 NAME
56              
57             WebService::DigitalOcean::Role::Domains - Domains role for DigitalOcean WebService
58              
59             =head1 VERSION
60              
61             version 0.025
62              
63             =head1 DESCRIPTION
64              
65             Implements the domain methods.
66              
67             =head1 METHODS
68              
69             =head2 domain_create
70              
71             =head2 domain_delete
72              
73             =head2 domain_get
74              
75             =head2 domain_list
76              
77             See main documentation in L<WebService::DigitalOcean>.
78              
79             =head1 AUTHOR
80              
81             André Walker <andre@cpan.org>
82              
83             =head1 COPYRIGHT AND LICENSE
84              
85             This software is Copyright (c) 2015 by André Walker.
86              
87             This is free software, licensed under:
88              
89             The GNU General Public License, Version 2, June 1991
90              
91             =cut