File Coverage

blib/lib/Iterator/Flex/Role/Reset/Closure.pm
Criterion Covered Total %
statement 36 36 100.0
branch n/a
condition n/a
subroutine 11 11 100.0
pod 1 1 100.0
total 48 48 100.0


line stmt bran cond sub pod time code
1             package Iterator::Flex::Role::Reset::Closure;
2              
3             # ABSTRACT: Implement reset as a closure stored in the registry
4              
5 40     40   248895 use v5.28;
  40         123  
6 40     40   152 use strict;
  40         61  
  40         729  
7 40     40   151 use warnings;
  40         55  
  40         2304  
8              
9             our $VERSION = '0.34';
10              
11 40     40   169 use Scalar::Util;
  40         56  
  40         1324  
12 40     40   132 use List::Util;
  40         51  
  40         1787  
13              
14 40     40   813 use Iterator::Flex::Base ();
  40         110  
  40         964  
15 40     40   121 use Iterator::Flex::Utils qw( :default REG_ITERATOR REG_ITER_RESET );
  40         67  
  40         4390  
16 40     40   190 use Role::Tiny;
  40         92  
  40         192  
17 40     40   8648 use experimental 'signatures';
  40         75  
  40         229  
18              
19 40     40   4834 use namespace::clean;
  40         71  
  40         196  
20              
21              
22              
23              
24              
25              
26              
27              
28              
29              
30              
31 109     109 1 51939 sub reset ( $self ) { ## no critic (BuiltinHomonyms)
  109         140  
  109         120  
32 109         406 $self->_apply_method_to_depends( 'reset' );
33              
34 108         329 $REGISTRY{ refaddr $self }[REG_ITERATOR][REG_ITER_RESET]->( $self );
35 108         313 $self->_clear_state;
36              
37 108         218 return;
38             }
39             *__reset__ = \&reset;
40              
41              
42             requires '_clear_state';
43             1;
44              
45             #
46             # This file is part of Iterator-Flex
47             #
48             # This software is Copyright (c) 2018 by Smithsonian Astrophysical Observatory.
49             #
50             # This is free software, licensed under:
51             #
52             # The GNU General Public License, Version 3, June 2007
53             #
54              
55             __END__