File Coverage

blib/lib/PawsX/DynamoDB/DocumentClient/Get.pm
Criterion Covered Total %
statement 16 18 88.8
branch 1 2 50.0
condition n/a
subroutine 5 6 83.3
pod 0 3 0.0
total 22 29 75.8


line stmt bran cond sub pod time code
1             package PawsX::DynamoDB::DocumentClient::Get;
2              
3 1     1   892 use strict;
  1         2  
  1         29  
4 1     1   25 use 5.008_005;
  1         4  
5              
6 1     1   10 use PawsX::DynamoDB::DocumentClient::Util qw(make_arg_transformer unmarshal_attribute_map);
  1         3  
  1         228  
7              
8             my $arg_transformer = make_arg_transformer(
9             method_name => 'get',
10             to_marshall => ['Key'],
11             );
12              
13             sub transform_arguments {
14 3     3 0 3517 my ($class, %args) = @_;
15 3         12 my $force_type = delete $args{force_type};
16             return map
17             {
18 3         12 $_ => $arg_transformer->($_, $args{$_}, $force_type)
  5         25  
19             }
20             keys %args;
21             }
22              
23             sub transform_output {
24 1     1 0 1232 my ($class, $output) = @_;
25 1         26 my $item = $output->Item;
26 1 50       33 return undef unless $item;
27 1         7 return unmarshal_attribute_map($item);
28             }
29              
30             sub run_service_command {
31 0     0 0   my ($class, $service, %args) = @_;
32 0           return $service->GetItem(%args);
33             }
34              
35             1;
36             __END__