File Coverage

lib/Context/Singleton/Frame/Promise/Rule.pm
Criterion Covered Total %
statement 20 20 100.0
branch 3 4 75.0
condition n/a
subroutine 7 7 100.0
pod 0 4 0.0
total 30 35 85.7


line stmt bran cond sub pod time code
1              
2 4     4   403 use strict;
  4         8  
  4         98  
3 4     4   18 use warnings;
  4         7  
  4         185  
4              
5             package Context::Singleton::Frame::Promise::Rule;
6              
7             our $VERSION = v1.0.5;
8              
9 4     4   19 use parent qw[ Context::Singleton::Frame::Promise ];
  4         8  
  4         16  
10              
11             sub new {
12 97     97 0 21108 my ($class, %params) = @_;
13              
14 97         296 my $self = $class->SUPER::new (%params);
15              
16 97         197 $self->{rule} = $params{rule};
17              
18 97         249 $self;
19             }
20              
21             sub rule {
22 71     71 0 206 $_[0]->{rule};
23             }
24              
25             sub notify_deducible {
26 59     59 0 93 my ($self, $in_depth) = @_;
27              
28 59 50       108 $self->set_deducible ($in_depth)
29             if $self->deducible_dependencies;
30             }
31              
32             sub deducible_builder {
33 29     29 0 2598 my ($self) = @_;
34              
35 29         61 for my $dependency ($self->deducible_dependencies) {
36 32 100       64 next unless $dependency->deduced_in_depth == $self->deduced_in_depth;
37              
38 29         68 return $dependency;
39             }
40             }
41              
42             1;
43