File Coverage

blib/lib/Net/Google/Storage/Object.pm
Criterion Covered Total %
statement 15 15 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 20 20 100.0


line stmt bran cond sub pod time code
1 1     1   7 use strict;
  1         1  
  1         28  
2 1     1   5 use warnings;
  1         2  
  1         52  
3             package Net::Google::Storage::Object;
4             $Net::Google::Storage::Object::VERSION = '0.2.0';
5             # ABSTRACT: Interface for a Google Storage Object
6             # https://developers.google.com/storage/docs/json_api/v1/objects#resource
7              
8 1     1   5 use Moose;
  1         2  
  1         7  
9              
10 1     1   6016 use Net::Google::Storage::Types;
  1         3  
  1         113  
11              
12              
13             has id => (
14             is => 'ro',
15             isa => 'Str',
16             );
17              
18              
19             has selfLink => (
20             is => 'ro',
21             isa => 'Str'
22             );
23              
24              
25             has name => (
26             is => 'ro',
27             isa => 'Str',
28             );
29              
30              
31             has bucket => (
32             is => 'ro',
33             isa => 'Str',
34             );
35              
36              
37             has timeCreated => (
38             is => 'ro',
39             isa => 'Str',
40             );
41              
42              
43             has md5Hash => (
44             is => 'ro',
45             isa => 'Str',
46             );
47              
48              
49             has contentEncoding => (
50             is => 'ro',
51             isa => 'Str',
52             );
53              
54              
55             has contentDisposition => (
56             is => 'ro',
57             isa => 'Str',
58             );
59              
60              
61             has cacheControl => (
62             is => 'ro',
63             isa => 'Str',
64             );
65              
66              
67             has metadata => (
68             is => 'ro',
69             isa => 'HashRef[Str]',
70             );
71              
72              
73             has owner => (
74             is => 'ro',
75             isa => 'HashRef[Str]',
76             );
77              
78 1     1   6 no Moose;
  1         3  
  1         15  
79             __PACKAGE__->meta->make_immutable;
80              
81             1;
82              
83             __END__
84              
85             =pod
86              
87             =encoding UTF-8
88              
89             =head1 NAME
90              
91             Net::Google::Storage::Object - Interface for a Google Storage Object
92              
93             =head1 VERSION
94              
95             version 0.2.0
96              
97             =head1 DESCRIPTION
98              
99             Object for storing the data of an object, slightly cut down from
100             L<https://developers.google.com/storage/docs/json_api/v1/objects#resource>.
101              
102             Generally Net::Google::Storage::Object objects are acquired from a
103             C<get_object>, C<list_objects>, or C<insert_object> call on a
104             L<Net::Google::Storage> object.
105              
106             =head1 ATTRIBUTES
107              
108             =head2 id
109              
110             The id of the object. Essentially the concatenation of the
111             L<bucket name|/bucket> and the L<object's name|/name>.
112              
113             =head2 selfLink
114              
115             The url of this object.
116              
117             =head2 name
118              
119             The name of the object within the bucket. B<This is what you want to adjust,
120             not the id.>
121              
122             =head2 bucket
123              
124             The name of the bucket the object resides within.
125              
126             =head2 timeCreated
127              
128             The creation timestamp of the object
129              
130             =head2 md5Hash
131              
132             A base64 encoded checksum of the object's data
133              
134             =head2 contentEncoding
135              
136             The content encoding of the object's data.
137              
138             =head2 contentDisposition
139              
140             The content disposition of the object's data.
141              
142             =head2 cacheControl
143              
144             Cache-Control directive for the object data.
145              
146             =head2 metadata
147              
148             Hashref containing user-defined metadata for the object.
149              
150             =head2 owner
151              
152             Hashref containing details for the object's owner.
153              
154             =head1 AUTHOR
155              
156             Glenn Fowler <cebjyre@cpan.org>
157              
158             =head1 COPYRIGHT AND LICENSE
159              
160             This software is copyright (c) 2012 by Glenn Fowler.
161              
162             This is free software; you can redistribute it and/or modify it under
163             the same terms as the Perl 5 programming language system itself.
164              
165             =cut