File Coverage

blib/lib/WWW/Wookie/Widget/Instance.pm
Criterion Covered Total %
statement 23 23 100.0
branch n/a
condition n/a
subroutine 8 8 100.0
pod n/a
total 31 31 100.0


line stmt bran cond sub pod time code
1             # -*- cperl; cperl-indent-level: 4 -*-
2             # Copyright (C) 2010-2021, Roland van Ipenburg
3             package WWW::Wookie::Widget::Instance v1.1.4;
4 4     4   116562 use strict;
  4         21  
  4         121  
5 4     4   28 use warnings;
  4         7  
  4         101  
6              
7 4     4   664 use utf8;
  4         21  
  4         24  
8 4     4   139 use 5.020000;
  4         13  
9              
10 4     4   613 use Moose qw/around has/;
  4         481101  
  4         28  
11 4     4   21375 use namespace::autoclean '-except' => 'meta', '-also' => qr/^_/sxm;
  4         8821  
  4         48  
12              
13 4     4   890 use Readonly;
  4         3997  
  4         1045  
14             ## no critic qw(ProhibitCallsToUnexportedSubs)
15             Readonly::Scalar my $MORE_ARGS => 5;
16             ## use critic
17              
18             has '_url' => (
19             'is' => 'rw',
20             'isa' => 'Str',
21             'reader' => 'getUrl',
22             'writer' => 'setUrl',
23             );
24              
25             has '_guid' => (
26             'is' => 'rw',
27             'isa' => 'Str',
28             'reader' => 'getIdentifier',
29             'writer' => 'setIdentifier',
30             );
31              
32             has '_title' => (
33             'is' => 'rw',
34             'isa' => 'Str',
35             'reader' => 'getTitle',
36             'writer' => 'setTitle',
37             );
38              
39             has '_height' => (
40             'is' => 'rw',
41             'isa' => 'Int',
42             'reader' => 'getHeight',
43             'writer' => 'setHeight',
44             );
45              
46             has '_width' => (
47             'is' => 'rw',
48             'isa' => 'Int',
49             'reader' => 'getWidth',
50             'writer' => 'setWidth',
51             );
52              
53             around 'BUILDARGS' => sub {
54             my $orig = shift;
55             my $class = shift;
56              
57             if ( @_ == $MORE_ARGS && !ref $_[0] ) {
58             my ( $url, $guid, $title, $height, $width ) = @_;
59             return $class->$orig(
60             '_url' => $url,
61             '_guid' => $guid,
62             '_title' => $title,
63             '_height' => $height,
64             '_width' => $width,
65             );
66             }
67             return $class->$orig(@_);
68             };
69              
70 4     4   33 no Moose;
  4         9  
  4         26  
71              
72             __PACKAGE__->meta->make_immutable;
73              
74             1;
75              
76             __END__
77              
78             =encoding utf8
79              
80             =for stopwords Bitbucket Url Guid url guid Readonly Ipenburg MERCHANTABILITY
81              
82             =head1 NAME
83              
84             WWW::Wookie::Widget::Instance - An instance of a widget for use on the client
85              
86             =head1 VERSION
87              
88             This document describes WWW::Wookie::Widget::Instance version C<v1.1.4>
89              
90             =head1 SYNOPSIS
91              
92             use WWW::Wookie::Widget::Instance;
93             $i = WWW::Wookie::Widget::Instance->new(
94             $url, $guid, $title, $height, $width);
95              
96             =head1 DESCRIPTION
97              
98             =head1 SUBROUTINES/METHODS
99              
100             =head2 C<new>
101              
102             Initialize new widget instance.
103              
104             =over
105              
106             =item 1. Url of the widget as string
107              
108             =item 2. Guid of the widget as string
109              
110             =item 3. Title of the widget as string
111              
112             =item 4. Height of the widget as string
113              
114             =item 5. Width of the widget as string
115              
116             =back
117              
118             =head2 C<getUrl>
119              
120             Get widget instance url. Returns widget instance url as string.
121              
122             =head2 C<setUrl>
123              
124             Set widget instance url.
125              
126             =over
127              
128             =item 1. New url for instance as string
129              
130             =back
131              
132             =head2 C<getIdentifier>
133              
134             Get widget guid value. Returns guid of widget as string.
135              
136             =head2 C<setIdentifier>
137              
138             Set widget guid value.
139              
140             =over
141              
142             =item 1. Guid value as string
143              
144             =back
145              
146             =head2 C<getTitle>
147              
148             Get widget title. Returns widget title as string.
149              
150             =head2 C<setTitle>
151              
152             Set widget title.
153              
154             =over
155              
156             =item 1. New widget title as string
157              
158             =back
159              
160             =head2 C<getHeight>
161              
162             Get widget height. Returns widget height as integer.
163              
164             =head2 C<setHeight>
165              
166             Set widget height.
167              
168             =over
169              
170             =item 1. New widget height as integer
171              
172             =back
173              
174             =head2 C<getWidth>
175              
176             Get widget width. Return widget width as integer.
177              
178             =head2 C<setWidth>
179              
180             Set widget width.
181              
182             =over
183              
184             =item 1. New widget width as integer
185              
186             =back
187              
188             =head1 CONFIGURATION AND ENVIRONMENT
189              
190             =head1 DEPENDENCIES
191              
192             =over 4
193              
194             =item * L<Moose|Moose>
195              
196             =item * L<Readonly|Readonly>
197              
198             =item * L<namespace::autoclean|namespace::autoclean>
199              
200             =back
201              
202             =head1 INCOMPATIBILITIES
203              
204             =head1 DIAGNOSTICS
205              
206             =head1 BUGS AND LIMITATIONS
207              
208             Please report any bugs or feature requests at
209             L<Bitbucket|https://bitbucket.org/rolandvanipenburg/www-wookie/issues>.
210              
211             =head1 AUTHOR
212              
213             Roland van Ipenburg, E<lt>roland@rolandvanipenburg.comE<gt>
214              
215             =head1 LICENSE AND COPYRIGHT
216              
217             Copyright 2010-2021 by Roland van Ipenburg
218              
219             This library is free software; you can redistribute it and/or modify
220             it under the same terms as Perl itself, either Perl version 5.14.0 or,
221             at your option, any later version of Perl 5 you may have available.
222              
223             =head1 DISCLAIMER OF WARRANTY
224              
225             BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
226             FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
227             OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
228             PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
229             EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
230             WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
231             ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH
232             YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
233             NECESSARY SERVICING, REPAIR, OR CORRECTION.
234              
235             IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
236             WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
237             REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENSE, BE
238             LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL,
239             OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
240             THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
241             RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
242             FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
243             SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
244             SUCH DAMAGES.
245              
246             =cut