File Coverage

lib/App/wsgetmail/MS365/Message.pm
Criterion Covered Total %
statement 5 5 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 7 7 100.0


line stmt bran cond sub pod time code
1             # BEGIN BPS TAGGED BLOCK {{{
2             #
3             # COPYRIGHT:
4             #
5             # This software is Copyright (c) 2020-2022 Best Practical Solutions, LLC
6             #
7             #
8             # (Except where explicitly superseded by other copyright notices)
9             #
10             #
11             # LICENSE:
12             #
13             # This work is made available to you under the terms of Version 2 of
14             # the GNU General Public License. A copy of that license should have
15             # been provided with this software, but in any event can be snarfed
16             # from www.gnu.org.
17             #
18             # This work is distributed in the hope that it will be useful, but
19             # WITHOUT ANY WARRANTY; without even the implied warranty of
20             # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21             # General Public License for more details.
22             #
23             # You should have received a copy of the GNU General Public License
24             # along with this program; if not, write to the Free Software
25             # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
26             # 02110-1301 or visit their web page on the internet at
27             # http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
28             #
29             #
30             # CONTRIBUTION SUBMISSION POLICY:
31             #
32             # (The following paragraph is not intended to limit the rights granted
33             # to you to modify and distribute this software under the terms of
34             # the GNU General Public License and is only of importance to you if
35             # you choose to contribute your changes and enhancements to the
36             # community by submitting them to Best Practical Solutions, LLC.)
37             #
38             # By intentionally submitting any modifications, corrections or
39             # derivatives to this work, or any other work intended for use with
40             # Request Tracker, to Best Practical Solutions, LLC, you confirm that
41             # you are the copyright holder for those contributions and you grant
42             # Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
43             # royalty-free, perpetual, license to use, copy, create derivative
44             # works based on those contributions, and sublicense and distribute
45             # those contributions and any derivatives thereof.
46             #
47             # END BPS TAGGED BLOCK }}}
48              
49 2     2   22 use v5.10;
  2         5  
50              
51             package App::wsgetmail::MS365::Message;
52 2     2   10 use Moo;
  2         4  
  2         9  
53              
54             =head1 NAME
55              
56             App::wsgetmail::MS365::Message
57              
58             =head2 DESCRIPTION
59              
60             Simple Moo class representing an Microsoft/Outlook 365 message.
61              
62             =head2 ATTRIBUTES
63              
64             All attributes are read-only.
65              
66             =over 4
67              
68             =item * id
69              
70             =item * status
71              
72             =item * recipients
73              
74             =back
75              
76             =cut
77              
78             has id => (
79             is => 'ro',
80             required => 1
81             );
82              
83             has status => (
84             is => 'ro',
85             required => 1
86             );
87              
88             has recipients => (
89             is => 'ro',
90             required => 1
91             );
92              
93             has _details => (
94             is => 'ro',
95             required => 1
96             );
97              
98             # have client
99             around BUILDARGS => sub {
100             my ( $orig, $class, $details ) = @_;
101              
102             my $args = {
103             id => $details->{id},
104             status => $details->{status},
105             recipients => $details->{toRecipients},
106             _details => $details
107             };
108              
109             return $class->$orig($args);
110             };
111              
112             =head1 SEE ALSO
113              
114             =over 4
115              
116             =item * L
117              
118             =back
119              
120             =head1 AUTHOR
121              
122             Best Practical Solutions, LLC
123              
124             =head1 LICENSE AND COPYRIGHT
125              
126             This software is Copyright (c) 2020 by Best Practical Solutions, LLC
127              
128             This is free software, licensed under:
129              
130             The GNU General Public License, Version 2, June 1991
131              
132             =cut
133              
134             1;