File Coverage

blib/lib/Syntax/Keyword/Junction/Base.pm
Criterion Covered Total %
statement 17 17 100.0
branch 3 4 75.0
condition n/a
subroutine 7 7 100.0
pod 0 3 0.0
total 27 31 87.1


line stmt bran cond sub pod time code
1             package Syntax::Keyword::Junction::Base;
2              
3 10     10   48684 use strict;
  10         20  
  10         573  
4 10     10   53 use warnings;
  10         20  
  10         1317  
5              
6             our $VERSION = '0.003008'; # VERSION
7              
8             use overload(
9 4     4   767 '==' => "num_eq",
10             '!=' => "num_ne",
11             '>=' => "num_ge",
12             '>' => "num_gt",
13             '<=' => "num_le",
14             '<' => "num_lt",
15             'eq' => "str_eq",
16             'ne' => "str_ne",
17             'ge' => "str_ge",
18             'gt' => "str_gt",
19             'le' => "str_le",
20             'lt' => "str_lt",
21             'bool' => "bool",
22             '""' => sub {shift},
23 10 50       247 $] >= 5.010001 ? ('~~' => 'match') : (),
24 10     10   15480 );
  10         8832  
25              
26              
27 406     406 0 8380 sub new { bless \@_, shift }
28              
29             sub values {
30 16     16 0 6256 my $self = shift;
31 16 100       100 return wantarray ? @$self : [ @$self ];
32             }
33              
34             sub map {
35 4     4 0 3364 my ( $self, $code ) = @_;
36 4         14 my $class = ref $self;
37 4         17 $class->new( map { $code->( $_ ) } $self->values );
  20         87  
38             }
39              
40             1;
41              
42             __END__