File Coverage

blib/lib/Mail/BIMI/Role/Data.pm
Criterion Covered Total %
statement 27 27 100.0
branch 2 2 100.0
condition n/a
subroutine 6 6 100.0
pod 2 2 100.0
total 37 37 100.0


line stmt bran cond sub pod time code
1             package Mail::BIMI::Role::Data;
2             # ABSTRACT: Class to retrieve data files
3             our $VERSION = '3.20210512'; # VERSION
4 29     29   29017 use 5.20.0;
  29         227  
5 29     29   328 use Moose::Role;
  29         136  
  29         837  
6 29     29   237646 use Mail::BIMI::Prelude;
  29         156  
  29         820  
7 29     29   15549 use File::Slurp qw{ read_file write_file };
  29         149  
  29         9363  
8              
9              
10              
11 12     12 1 24 sub get_file_name($self,$file) {
  12         26  
  12         37  
  12         24  
12 12         28 my $base_file = __FILE__;
13 12         138 $base_file =~ s/\/Role\/Data.pm$/\/Data\/$file/;
14 12 100       649 if ( ! -e $base_file ) {
15 1         16 die "File $file is missing";
16             }
17 11         63 return $base_file;
18             }
19              
20              
21 12     12 1 4965 sub get_data_from_file($self,$file) {
  12         29  
  12         39  
  12         23  
22 12         60 my $base_file = $self->get_file_name($file);
23 11         147 my $body = read_file($base_file);
24 11         5590 return $body;
25             }
26              
27             1;
28              
29             __END__
30              
31             =pod
32              
33             =encoding UTF-8
34              
35             =head1 NAME
36              
37             Mail::BIMI::Role::Data - Class to retrieve data files
38              
39             =head1 VERSION
40              
41             version 3.20210512
42              
43             =head1 DESCRIPTION
44              
45             Role for classes which require access to locally packaged files
46              
47             =head1 METHODS
48              
49             =head2 I<get_file_name($file)>
50              
51             Returns the full path and filename for included file $file
52              
53             =head2 I<get_data_from_file($file)>
54              
55             Returns the contents of included file $file
56              
57             =head1 REQUIRES
58              
59             =over 4
60              
61             =item * L<File::Slurp|File::Slurp>
62              
63             =item * L<Mail::BIMI::Prelude|Mail::BIMI::Prelude>
64              
65             =item * L<Moose::Role|Moose::Role>
66              
67             =back
68              
69             =head1 AUTHOR
70              
71             Marc Bradshaw <marc@marcbradshaw.net>
72              
73             =head1 COPYRIGHT AND LICENSE
74              
75             This software is copyright (c) 2020 by Marc Bradshaw.
76              
77             This is free software; you can redistribute it and/or modify it under
78             the same terms as the Perl 5 programming language system itself.
79              
80             =cut