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