File Coverage

blib/lib/WWW/Picnic/Result/Article.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod 3 3 100.0
total 16 16 100.0


line stmt bran cond sub pod time code
1             package WWW::Picnic::Result::Article;
2             our $VERSION = '0.100';
3             our $AUTHORITY = 'cpan:GETTY';
4             # ABSTRACT: Detailed Picnic product/article information
5              
6 2     2   11 use Moo;
  2         4  
  2         11  
7              
8             extends 'WWW::Picnic::Result';
9              
10              
11             has id => (
12             is => 'ro',
13             lazy => 1,
14             default => sub { shift->_get('id') },
15             );
16              
17              
18             has name => (
19             is => 'ro',
20             lazy => 1,
21             default => sub { shift->_get('name') },
22             );
23              
24              
25             has description => (
26             is => 'ro',
27             lazy => 1,
28             default => sub { shift->_get('description') },
29             );
30              
31              
32             has type => (
33             is => 'ro',
34             lazy => 1,
35             default => sub { shift->_get('type') },
36             );
37              
38              
39             has images => (
40             is => 'ro',
41             lazy => 1,
42             default => sub { shift->_get('images') || [] },
43             );
44              
45              
46             has image_ids => (
47             is => 'ro',
48             lazy => 1,
49             default => sub { shift->_get('image_ids') || [] },
50             );
51              
52              
53             has price_info => (
54             is => 'ro',
55             lazy => 1,
56             default => sub { shift->_get('price_info') || {} },
57             );
58              
59              
60             sub price {
61 1     1 1 3 my ( $self ) = @_;
62 1         38 return $self->price_info->{price};
63             }
64              
65              
66             sub original_price {
67 1     1 1 3 my ( $self ) = @_;
68 1         35 return $self->price_info->{original_price};
69             }
70              
71              
72             sub deposit {
73 1     1 1 1042 my ( $self ) = @_;
74 1         35 return $self->price_info->{deposit};
75             }
76              
77              
78             has unit_quantity => (
79             is => 'ro',
80             lazy => 1,
81             default => sub { shift->_get('unit_quantity') },
82             );
83              
84              
85             has max_order_quantity => (
86             is => 'ro',
87             lazy => 1,
88             default => sub { shift->_get('max_order_quantity') },
89             );
90              
91              
92             has labels => (
93             is => 'ro',
94             lazy => 1,
95             default => sub { shift->_get('labels') || [] },
96             );
97              
98              
99             has allergies => (
100             is => 'ro',
101             lazy => 1,
102             default => sub { shift->_get('allergies') || {} },
103             );
104              
105              
106             has highlights => (
107             is => 'ro',
108             lazy => 1,
109             default => sub { shift->_get('highlights') || [] },
110             );
111              
112              
113             has perishable => (
114             is => 'ro',
115             lazy => 1,
116             default => sub { shift->_get('perishable') },
117             );
118              
119              
120             1;
121              
122             __END__