File Coverage

blib/lib/PayProp/API/Public/Client/Authorization/Storage/Local.pm
Criterion Covered Total %
statement 30 30 100.0
branch 1 2 50.0
condition n/a
subroutine 12 12 100.0
pod n/a
total 43 44 97.7


line stmt bran cond sub pod time code
1             package PayProp::API::Public::Client::Authorization::Storage::Local;
2              
3 1     1   408093 use strict;
  1         2  
  1         32  
4 1     1   4 use warnings;
  1         2  
  1         67  
5              
6 1     1   435 use Mouse;
  1         21993  
  1         7  
7             with qw/ PayProp::API::Public::Client::Role::Storage /;
8              
9 1     1   1247 use Mojo::Promise;
  1         444723  
  1         6  
10              
11             has storage => (
12             is => 'ro',
13             isa => 'HashRef',
14             default => sub { +{} },
15             );
16              
17             sub _ping_p {
18 1     1   1010 my ( $self ) = @_;
19              
20             return Mojo::Promise->new(
21             sub {
22 1     1   96 my( $resolve, $reject ) = @_;
23              
24 1 50       6 return ref( $self->storage ) eq 'HASH' ? $resolve->( 1 ) : $reject->( 0 );
25             }
26 1         13 );
27             }
28              
29             sub _set_p {
30 1     1   775 my ( $self, $key, $value ) = @_;
31              
32             return Mojo::Promise->new(
33             sub {
34 1     1   25 my( $resolve, $reject ) = @_;
35              
36 1         6 $self->storage->{ $key } = $value;
37              
38 1         12 return $resolve->( 1 );
39             }
40 1         8 );
41             }
42              
43             sub _get_p {
44 1     1   1754 my ( $self, $key ) = @_;
45              
46             return Mojo::Promise->new(
47             sub {
48 1     1   24 my( $resolve, $reject ) = @_;
49              
50 1         5 return $resolve->( $self->storage->{ $key } );
51             }
52 1         7 );
53             }
54              
55             sub _delete_p {
56 1     1   1720 my ( $self, $key ) = @_;
57              
58             return Mojo::Promise->new(
59             sub {
60 1     1   40 my( $resolve, $reject ) = @_;
61              
62 1         7 delete $self->storage->{ $key };
63              
64 1         4 return $resolve->( 1 );
65             }
66 1         13 );
67             }
68              
69             __PACKAGE__->meta->make_immutable;
70              
71             __END__