File Coverage

blib/lib/Git/PurePerl/Walker/Role/Method.pm
Criterion Covered Total %
statement 14 14 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 19 19 100.0


line stmt bran cond sub pod time code
1 6     6   3078 use 5.006; #our
  6         15  
2 6     6   23 use strict;
  6         7  
  6         111  
3 6     6   18 use warnings;
  6         7  
  6         378  
4              
5             package Git::PurePerl::Walker::Role::Method;
6              
7             our $VERSION = '0.004001';
8              
9             # ABSTRACT: A method for traversing a git repository
10              
11             our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
12              
13 6     6   1228 use Moose::Role qw( with requires );
  6         337249  
  6         51  
14              
15              
16              
17              
18              
19              
20              
21             with 'Git::PurePerl::Walker::Role::HasRepo';
22              
23              
24              
25              
26              
27              
28              
29              
30              
31              
32              
33              
34              
35              
36              
37              
38              
39              
40              
41              
42              
43              
44              
45              
46              
47              
48              
49             requires 'current';
50              
51              
52              
53              
54              
55              
56              
57              
58              
59              
60              
61             requires 'has_next';
62              
63              
64              
65              
66              
67              
68              
69              
70              
71             requires 'next';
72              
73              
74              
75              
76              
77              
78              
79              
80              
81             requires 'peek_next';
82              
83              
84              
85              
86              
87              
88              
89              
90              
91              
92             requires 'reset';
93              
94 6     6   17010 no Moose::Role;
  6         7  
  6         21  
95             1;
96              
97             __END__
98              
99             =pod
100              
101             =encoding UTF-8
102              
103             =head1 NAME
104              
105             Git::PurePerl::Walker::Role::Method - A method for traversing a git repository
106              
107             =head1 VERSION
108              
109             version 0.004001
110              
111             =head1 REQUIRES METHODS
112              
113             =head2 current
114              
115             my $commit = $object->current;
116              
117             Should return a L<< C<Git::PurePerl::B<Object::Commit>>|Git::PurePerl::Object::Commmit >>
118              
119             =head2 has_next
120              
121             if ( $object->has_next ) {
122              
123             }
124              
125             Should return true if C<< -E<gt>next >> will expose a previously unseen object.
126              
127             =head2 next
128              
129             my $next_object = $object->next;
130              
131             Should internally move to the next object, and return that next object.
132              
133             =head2 peek_next
134              
135             my $next_object = $object->peek_next;
136              
137             The same as L</next> except internal position should not change.
138              
139             =head2 reset
140              
141             $object->reset;
142              
143             Should reset the internal position to some position so that calling
144             C<< $object->current >> returns the first result again.
145              
146             =head1 INHERITED METHODS
147              
148             =head2 for_repository
149              
150             L<< C<Git::PurePerl::B<Walker::Role::HasRepo>-E<gt>I<for_repository( $repo )>>|Git::PurePerl::Walker::Role::HasRepo/for_repository >>
151              
152             =head2 clone
153              
154             L<< C<MooseX::B<Clone>-E<gt>I<clone( %params )>>|MooseX::Clone/clone-params >>
155              
156             =head2 _repo
157              
158             L<< C<Git::PurePerl::B<Walker::Role::HasRepo>-E<gt>I<_repo( $repo )>>|Git::PurePerl::Walker::Role::HasRepo/_repo >>
159              
160             =head1 CONSUMED ROLES
161              
162             =head2 Git::PurePerl::Walker::Role::HasRepo
163              
164             L<< C<Git::PurePerl::B<Walker::Role::HasRepo>>|Git::PurePerl::Walker::Role::HasRepo >>
165              
166             =head1 AUTHOR
167              
168             Kent Fredric <kentnl@cpan.org>
169              
170             =head1 COPYRIGHT AND LICENSE
171              
172             This software is copyright (c) 2017 by Kent Fredric <kentnl@cpan.org>.
173              
174             This is free software; you can redistribute it and/or modify it under
175             the same terms as the Perl 5 programming language system itself.
176              
177             =cut