File Coverage

blib/lib/Mail/BIMI/Base.pm
Criterion Covered Total %
statement 22 22 100.0
branch 1 2 50.0
condition n/a
subroutine 6 6 100.0
pod 3 3 100.0
total 32 33 96.9


line stmt bran cond sub pod time code
1             package Mail::BIMI::Base;
2             # ABSTRACT: Base class for Mail::BIMI subclasses
3             our $VERSION = '3.20210225'; # VERSION
4 30     30   22195 use 5.20.0;
  30         119  
5 30     30   184 use Moose;
  30         66  
  30         241  
6 30     30   222107 use Mail::BIMI::Prelude;
  30         77  
  30         444  
7              
8             has bimi_object => ( is => 'ro', isa => 'Mail::BIMI', required => 1, weak_ref => 1,
9             documentation => 'Base Mail::BIMI object for this operation' );
10              
11              
12              
13 6     6 1 11 sub record_object($self) {
  6         9  
  6         9  
14 6         184 return $self->bimi_object->record;
15             }
16              
17              
18 2     2 1 6 sub authority_object($self) {
  2         7  
  2         4  
19 2 50       9 return unless $self->record_object;
20 2         8 return $self->record_object->authority;
21             }
22              
23              
24 264     264 1 651 sub log_verbose($self,$text) {
  264         519  
  264         570  
  264         429  
25 264         7405 $self->bimi_object->log_verbose($text);
26             }
27              
28             1;
29              
30             __END__
31              
32             =pod
33              
34             =encoding UTF-8
35              
36             =head1 NAME
37              
38             Mail::BIMI::Base - Base class for Mail::BIMI subclasses
39              
40             =head1 VERSION
41              
42             version 3.20210225
43              
44             =head1 DESCRIPTION
45              
46             Base BIMI class with common methods and attributes
47              
48             =head1 ATTRIBUTES
49              
50             These values are derived from lookups and verifications made based upon the input values, it is however possible to override these with other values should you wish to, for example, validate a record before it is published in DNS, or validate an Indicator which is only available locally
51              
52             =head2 bimi_object
53              
54             is=ro required
55              
56             Base Mail::BIMI object for this operation
57              
58             =head1 EXTENDS
59              
60             =over 4
61              
62             =item * L<Moose::Object>
63              
64             =back
65              
66             =head1 METHODS
67              
68             =head2 I<record_object()>
69              
70             Return the current Mail::BIMI::Record object for this operation
71              
72             =head2 I<authority_object()>
73              
74             Return the current Mail::BIMI::Authority object for this operation
75              
76             =head2 I<log_verbose()>
77              
78             Output given text if in verbose mode.
79              
80             =head1 REQUIRES
81              
82             =over 4
83              
84             =item * L<Mail::BIMI::Prelude|Mail::BIMI::Prelude>
85              
86             =item * L<Moose|Moose>
87              
88             =back
89              
90             =head1 AUTHOR
91              
92             Marc Bradshaw <marc@marcbradshaw.net>
93              
94             =head1 COPYRIGHT AND LICENSE
95              
96             This software is copyright (c) 2020 by Marc Bradshaw.
97              
98             This is free software; you can redistribute it and/or modify it under
99             the same terms as the Perl 5 programming language system itself.
100              
101             =cut