File Coverage

blib/lib/Net/Amazon/S3/Role/ACL.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 24 24 100.0


line stmt bran cond sub pod time code
1             package Net::Amazon::S3::Role::ACL;
2             # ABSTRACT: ACL specification
3             $Net::Amazon::S3::Role::ACL::VERSION = '0.98';
4 96     96   72048 use Moose::Role;
  96         263  
  96         1076  
5 96     96   542184 use Moose::Util::TypeConstraints;
  96         270  
  96         899  
6              
7 96     96   215335 use Carp ();
  96         262  
  96         2717  
8              
9 96     96   56629 use Net::Amazon::S3::ACL::Set;
  96         349  
  96         4638  
10 96     96   44189 use Net::Amazon::S3::ACL::Canned;
  96         329  
  96         3520  
11 96     96   767 use Net::Amazon::S3::Constraint::ACL::Canned;
  96         248  
  96         17775  
12              
13             has acl => (
14             is => 'ro',
15             isa => union ([
16             'Net::Amazon::S3::ACL::Set',
17             'Net::Amazon::S3::ACL::Canned',
18             ]),
19             required => 0,
20             coerce => 1,
21             );
22              
23             around BUILDARGS => sub {
24             my ($orig, $class) = (shift, shift);
25             my $args = $class->$orig (@_);
26              
27             if (exists $args->{acl_short}) {
28             my $acl_short = delete $args->{acl_short};
29              
30             Carp::carp "'acl_short' parameter is ignored when 'acl' specified"
31             if exists $args->{acl};
32              
33             $args->{acl} = $acl_short
34             unless exists $args->{acl};
35             }
36              
37             delete $args->{acl} unless defined $args->{acl};
38              
39             return $args;
40             };
41              
42             1;
43              
44             __END__
45              
46             =pod
47              
48             =encoding UTF-8
49              
50             =head1 NAME
51              
52             Net::Amazon::S3::Role::ACL - ACL specification
53              
54             =head1 VERSION
55              
56             version 0.98
57              
58             =head1 AUTHOR
59              
60             Branislav ZahradnĂ­k <barney@cpan.org>
61              
62             =head1 COPYRIGHT AND LICENSE
63              
64             This software is copyright (c) 2021 by Amazon Digital Services, Leon Brocard, Brad Fitzpatrick, Pedro Figueiredo, Rusty Conover, Branislav ZahradnĂ­k.
65              
66             This is free software; you can redistribute it and/or modify it under
67             the same terms as the Perl 5 programming language system itself.
68              
69             =cut