File Coverage

blib/lib/Acme/Oil/ed/Scalar.pm
Criterion Covered Total %
statement 27 30 90.0
branch 5 10 50.0
condition n/a
subroutine 7 7 100.0
pod n/a
total 39 47 82.9


line stmt bran cond sub pod time code
1              
2             ##############################################################################
3             package Acme::Oil::ed::Scalar;
4              
5 1     1   6 use warnings;
  1         2  
  1         31  
6 1     1   4 use strict;
  1         2  
  1         26  
7 1     1   4 use Carp;
  1         2  
  1         68  
8 1     1   5 use base qw(Acme::Oil::ed);
  1         2  
  1         490  
9              
10              
11             sub TIESCALAR {
12 2     2   4 my $class = shift;
13 2         3 my $scalar = shift;
14 2         5 my $self = {
15             value => $scalar,
16             level => 10,
17             };
18 2         10 bless $self, $class;
19             }
20              
21              
22             sub FETCH {
23 1     1   1 my $self = shift;
24              
25 1 50       3 if( $self->is_slipped ){
26 1 50       244 carp "Can't be taken out by your hand's slipping."
27             if(warnings::enabled('Acme::Oil'));
28 1         36 return;
29             }
30              
31 0         0 $self->{value};
32             }
33              
34              
35             sub STORE {
36 2     2   3 my $self = shift;
37 2         3 my $value = shift;
38              
39 2 100       6 if(Acme::Oil::_is_burning($value)){
40 1         5 $self->ignition();
41 1         3 return;
42             }
43              
44 1 50       9 if( $self->is_slipped ){
45 0 0       0 carp "Can't be put well by your hand's slipping."
46             if(warnings::enabled('Acme::Oil'));
47 0         0 return $self->{value};
48             }
49              
50 1         6 $self->{value} = $value;
51             }
52              
53             1;