File Coverage

blib/lib/OS/Package/Maintainer.pm
Criterion Covered Total %
statement 10 12 83.3
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 14 16 87.5


line stmt bran cond sub pod time code
1 2     2   16130 use v5.14.0;
  2         4  
  2         62  
2 2     2   6 use warnings;
  2         2  
  2         83  
3              
4             package OS::Package::Maintainer;
5              
6             # ABSTRACT: OS::Package::Maintainer object.
7             our $VERSION = '0.2.5'; # VERSION
8              
9 2     2   481 use Moo;
  2         10536  
  2         11  
10 2     2   2417 use Types::Standard qw( Str Enum );
  0            
  0            
11              
12             has author => ( is => 'rw', isa => Str, required => 1 );
13              
14             has company => (
15             is => 'rw',
16             isa => Str,
17             default => sub { my $self = shift; return $self->author }
18             );
19              
20             has [qw/nickname email phone/] => ( is => 'rw', isa => Str );
21              
22             sub by_line {
23             my $self = shift;
24              
25             my $by_line = $self->author;
26              
27             if ( defined $self->nickname ) {
28             $by_line .= sprintf ' (%s)', $self->nickname;
29             }
30              
31             if ( defined $self->email ) {
32             $by_line .= sprintf ' <%s>', $self->email;
33             }
34              
35             if ( defined $self->phone ) {
36             $by_line .= sprintf ' %s', $self->phone;
37             }
38              
39             return $by_line;
40              
41             }
42              
43             1;
44              
45             __END__