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   483 use strict;
  4         13  
  4         118  
3 4     4   22 use warnings;
  4         10  
  4         235  
4              
5             package Context::Singleton::Frame::Promise::Rule;
6              
7             our $VERSION = v1.0.4;
8              
9 4     4   23 use parent qw[ Context::Singleton::Frame::Promise ];
  4         8  
  4         32  
10              
11             sub new {
12 97     97 0 25827 my ($class, %params) = @_;
13              
14 97         346 my $self = $class->SUPER::new (%params);
15              
16 97         268 $self->{rule} = $params{rule};
17              
18 97         329 $self;
19             }
20              
21             sub rule {
22 71     71 0 272 $_[0]->{rule};
23             }
24              
25             sub notify_deducible {
26 59     59 0 107 my ($self, $in_depth) = @_;
27              
28 59 50       139 $self->set_deducible ($in_depth)
29             if $self->deducible_dependencies;
30             }
31              
32             sub deducible_builder {
33 29     29 0 3183 my ($self) = @_;
34              
35 29         71 for my $dependency ($self->deducible_dependencies) {
36 32 100       79 next unless $dependency->deduced_in_depth == $self->deduced_in_depth;
37              
38 29         87 return $dependency;
39             }
40             }
41              
42             1;
43