File Coverage

blib/lib/Git/PurePerl/Walker/Method/FirstParent/FromHEAD.pm
Criterion Covered Total %
statement 17 19 89.4
branch 1 2 50.0
condition n/a
subroutine 6 6 100.0
pod n/a
total 24 27 88.8


line stmt bran cond sub pod time code
1 2     2   1848882 use 5.006; # our
  2         5  
2 2     2   9 use strict;
  2         2  
  2         42  
3 2     2   14 use warnings;
  2         2  
  2         164  
4              
5             package Git::PurePerl::Walker::Method::FirstParent::FromHEAD;
6              
7             our $VERSION = '0.004001';
8              
9             # ABSTRACT: Start at the HEAD of the current repo.
10              
11             our $AUTHORITY = 'cpan:KENTNL'; # AUTHORITY
12              
13 2     2   478 use Moose qw( extends has );
  2         292901  
  2         15  
14              
15              
16              
17              
18              
19              
20              
21             extends 'Git::PurePerl::Walker::Method::FirstParent';
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              
50              
51              
52              
53              
54              
55              
56              
57              
58              
59              
60             has '+start' => (
61             init_arg => undef,
62             lazy_build => 1,
63             required => 0,
64             );
65              
66              
67              
68              
69              
70             has '+_repo' => ( predicate => '_has_repo', );
71              
72              
73              
74              
75              
76             sub _build_start {
77 1     1   2 my $self = shift;
78 1 50       39 if ( not $self->_has_repo ) {
79 0         0 require Carp;
80 0         0 Carp::confess('No repo defined while trying to find a starting commit');
81             }
82 1         29 return $self->_repo->head_sha1;
83             }
84              
85              
86              
87              
88              
89              
90              
91              
92              
93              
94              
95              
96              
97              
98              
99              
100              
101              
102              
103              
104              
105              
106              
107              
108              
109              
110              
111              
112              
113              
114              
115              
116              
117              
118              
119              
120              
121              
122              
123              
124              
125              
126              
127              
128              
129              
130              
131              
132              
133              
134              
135              
136              
137              
138              
139 2     2   8512 no Moose;
  2         3  
  2         11  
140             __PACKAGE__->meta->make_immutable;
141             1;
142              
143             __END__
144              
145             =pod
146              
147             =encoding UTF-8
148              
149             =head1 NAME
150              
151             Git::PurePerl::Walker::Method::FirstParent::FromHEAD - Start at the HEAD of the current repo.
152              
153             =head1 VERSION
154              
155             version 0.004001
156              
157             =head1 INHERITED METHODS
158              
159             =head2 for_repository
160              
161             L<<
162             C<Git::PurePerl::B<Walker::Role::HasRepo>-E<gt>I<for_repository( $repo )>>
163             |Git::PurePerl::Walker::Role::HasRepo/for_repository
164             >>
165              
166             =head2 clone
167              
168             L<<
169             C<MooseX::B<Clone>-E<gt>I<clone( %params )>>
170             |MooseX::Clone/clone-params
171             >>
172              
173             =head2 _repo
174              
175             L<< C<Git::PurePerl::B<Walker::Role::HasRepo>-E<gt>I<_repo( $repo )>>|Git::PurePerl::Walker::Role::HasRepo/_repo >>
176              
177             =head2 start
178              
179             L<< C<Git::PurePerl::B<Walker::Method::FirstParent>-E<gt>I<start( $commit )>>|Git::PurePerl::Walker::Method::FirstParent/start >>
180              
181             =head2 _commit
182              
183             L<<
184             C<Git::PurePerl::B<Walker::Method::FirstParent>-E<gt>I<_commit( $commit_object )>>
185             |Git::PurePerl::Walker::Method::FirstParent/_commit
186             >>
187              
188             =head2 _build_commit
189              
190             L<<
191             C<Git::PurePerl::B<Walker::Method::FirstParent>-E<gt>I<_build_commit()>>
192             |Git::PurePerl::Walker::Method::FirstParent/_build_commit
193             >>
194              
195             =head2 current
196              
197             L<<
198             C<Git::PurePerl::B<Walker::Method::FirstParent>-E<gt>I<current()>>
199             |Git::PurePerl::Walker::Method::FirstParent/current
200             >>
201              
202             =head2 has_next
203              
204             L<<
205             C<Git::PurePerl::B<Walker::Method::FirstParent>-E<gt>I<has_next()>>
206             |Git::PurePerl::Walker::Method::FirstParent/has_next
207             >>
208              
209             =head2 next
210              
211             L<<
212             C<Git::PurePerl::B<Walker::Method::FirstParent>-E<gt>I<next()>>
213             |Git::PurePerl::Walker::Method::FirstParent/next
214             >>
215              
216             =head2 peek_next
217              
218             L<<
219             C<Git::PurePerl::B<Walker::Method::FirstParent>-E<gt>I<peek_next()>>
220             |Git::PurePerl::Walker::Method::FirstParent/peek_next
221             >>
222              
223             =head2 reset
224              
225             L<<
226             C<Git::PurePerl::B<Walker::Method::FirstParent>-E<gt>I<reset()>>
227             |Git::PurePerl::Walker::Method::FirstParent/reset
228             >>
229              
230             =head1 PRIVATE METHODS
231              
232             =head2 _build_start
233              
234             =head1 PRIVATE ATTRIBUTE GENERATED METHODS
235              
236             =head2 _has_repo
237              
238             =head1 EXTENDS
239              
240             =head2 Git::PurePerl::Walker::Method::FirstParent
241              
242             L<< C<Git::PurePerl::B<Walker::Method::FirstParent>>|Git::PurePerl::Walker::Method::FirstParent >>
243              
244             =head1 AUTHOR
245              
246             Kent Fredric <kentnl@cpan.org>
247              
248             =head1 COPYRIGHT AND LICENSE
249              
250             This software is copyright (c) 2017 by Kent Fredric <kentnl@cpan.org>.
251              
252             This is free software; you can redistribute it and/or modify it under
253             the same terms as the Perl 5 programming language system itself.
254              
255             =cut