File Coverage

blib/lib/Paymill/REST/Item/Client.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package Paymill::REST::Item::Client;
2              
3 9     9   6274 use Moose;
  9         23  
  9         74  
4 9     9   62835 use MooseX::Types::DateTime::ButMaintained qw(DateTime);
  9         24  
  9         112  
5              
6             with 'Paymill::REST::Operations::Delete';
7              
8             has _factory => (is => 'ro', isa => 'Object');
9              
10             has id => (is => 'ro', isa => 'Str');
11             has description => (is => 'ro', isa => 'Undef|Str');
12             has email => (is => 'ro', isa => 'Undef|Str');
13             has created_at => (is => 'ro', isa => DateTime, coerce => 1);
14             has updated_at => (is => 'ro', isa => DateTime, coerce => 1);
15             has app_id => (is => 'ro', isa => 'Undef|Str');
16              
17             has subscription => (
18             is => 'ro',
19             isa => 'Undef|Object|ArrayRef',
20             trigger => sub { Paymill::REST::TypesAndTriggers::items_from_arrayref('subscription', @_) }
21             );
22             has payment => (
23             is => 'ro',
24             isa => 'Undef|Object|ArrayRef',
25             trigger => sub { Paymill::REST::TypesAndTriggers::items_from_arrayref('payment', @_) }
26             );
27              
28 9     9   19867 no Moose;
  9         42  
  9         57  
29             1;
30             __END__
31              
32             =encoding utf-8
33              
34             =head1 NAME
35              
36             Paymill::REST::Item::Client - Item class for a client
37              
38             =head1 SYNOPSIS
39              
40             my $client_api = Paymill::REST::Clients->new;
41             $client = $client_api->find('client_lk2j34h5lk34h5lkjh2');
42              
43             say $client->email; # Prints email address assigned to the client
44              
45             =head1 DESCRIPTION
46              
47             Represents a client with all attributes and all sub items.
48              
49             =head1 ATTRIBUTES
50              
51             =over 4
52              
53             =item id
54              
55             String containing the identifier of the client
56              
57             =item description
58              
59             String containing the assigned description
60              
61             =item email
62              
63             String containing the assigned email
64              
65             =item created_at
66              
67             L<DateTime> object indicating the date of the creation as returned by the API
68              
69             =item updated_at
70              
71             L<DateTime> object indicating the date of the last update as returned by the API
72              
73             =item app_id
74              
75             String representing the app id that created this client
76              
77             =back
78              
79             =head1 SUB ITEMS
80              
81             =over 4
82              
83             =item subscription
84              
85             One or a list of subscriptions, depends on the returned values from the API.
86              
87             See also L<Paymill::REST::Item::Subscription>.
88              
89             =item payment
90              
91             One or a list of payments, depends on the returned values from the API.
92              
93             See also L<Paymill::REST::Item::Payment>.
94              
95             =back
96              
97             =head1 AVAILABLE OPERATIONS
98              
99             =over 4
100              
101             =item delete
102              
103             L<Paymill::REST::Operations::Delete>
104              
105             =back
106              
107             =head1 SEE ALSO
108              
109             L<Paymill::REST> for more documentation.
110              
111             =head1 AUTHOR
112              
113             Matthias Dietrich E<lt>perl@rainboxx.deE<gt>
114              
115             =head1 COPYRIGHT
116              
117             Copyright 2013 - Matthias Dietrich
118              
119             =head1 LICENSE
120              
121             This library is free software; you can redistribute it and/or modify
122             it under the same terms as Perl itself.