File Coverage

blib/lib/Path/Dispatcher/Rule/Alternation.pm
Criterion Covered Total %
statement 16 16 100.0
branch 4 4 100.0
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 24 25 96.0


line stmt bran cond sub pod time code
1             package Path::Dispatcher::Rule::Alternation;
2 32     32   126 use Any::Moose;
  32         41  
  32         152  
3             extends 'Path::Dispatcher::Rule';
4              
5             with 'Path::Dispatcher::Role::Rules';
6              
7             sub _match {
8 15     15   12 my $self = shift;
9 15         15 my $path = shift;
10              
11 15         24 my @rules = $self->rules;
12 15 100       31 return if @rules == 0;
13              
14 14         19 for my $rule (@rules) {
15 20 100       39 return {} if $rule->match($path);
16             }
17              
18 7         13 return;
19             }
20              
21             sub complete {
22 9     9 0 9 my $self = shift;
23              
24 9         18 return map { $_->complete(@_) } $self->rules;
  18         35  
25             }
26              
27             __PACKAGE__->meta->make_immutable;
28 32     32   16863 no Any::Moose;
  32         56  
  32         110  
29              
30             1;
31              
32             __END__