File Coverage

blib/lib/MoobX/Array/Observable.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             our $AUTHORITY = 'cpan:YANICK';
2             $MoobX::Array::Observable::VERSION = '0.1.1';
3             use Moose::Role;
4 5     5   2513  
  5         8  
  5         36  
5             use experimental 'postderef', 'signatures';
6 5     5   22736  
  5         10  
  5         79  
7             use Scalar::Util 'refaddr';
8 5     5   866  
  5         9  
  5         1224  
9             before [ qw/ FETCH FETCHSIZE /] => sub {
10             my $self = shift;
11             push @MoobX::DEPENDENCIES, $self if $MoobX::WATCHING;
12             };
13              
14              
15             after [ qw/ STORE PUSH CLEAR /] => sub {
16             my $self = shift;
17             for my $i ( 0.. $self->value->$#* ) {
18             next if tied $self->value->[$i];
19             next unless ref $self->value->[$i];
20             MoobX::observable_ref( $self->value->[$i] );
21             }
22             MoobX::observable_modified( $self );
23             };
24              
25              
26              
27             1;
28              
29              
30             =pod
31              
32             =encoding UTF-8
33              
34             =head1 NAME
35              
36             MoobX::Array::Observable
37              
38             =head1 VERSION
39              
40             version 0.1.1
41              
42             =head1 AUTHOR
43              
44             Yanick Champoux <yanick@cpan.org>
45              
46             =head1 COPYRIGHT AND LICENSE
47              
48             This software is copyright (c) 2022, 2017 by Yanick Champoux.
49              
50             This is free software; you can redistribute it and/or modify it under
51             the same terms as the Perl 5 programming language system itself.
52              
53             =cut