File Coverage

blib/lib/App/Rgit/Config/Default.pm
Criterion Covered Total %
statement 25 25 100.0
branch 7 8 87.5
condition 4 6 66.6
subroutine 7 7 100.0
pod 1 1 100.0
total 44 47 93.6


line stmt bran cond sub pod time code
1             package App::Rgit::Config::Default;
2              
3 5     5   1453 use strict;
  5         10  
  5         229  
4 5     5   35 use warnings;
  5         12  
  5         218  
5              
6 5     5   28 use File::Find qw/find/;
  5         10  
  5         748  
7              
8 5     5   34 use base qw/App::Rgit::Config/;
  5         8  
  5         703  
9              
10 5     5   33 use App::Rgit::Repository;
  5         9  
  5         1826  
11              
12             =head1 NAME
13              
14             App::Rgit::Config::Default - Default App::Rgit configuration class.
15              
16             =head1 VERSION
17              
18             Version 0.08
19              
20             =cut
21              
22             our $VERSION = '0.08';
23              
24             =head1 DESCRIPTION
25              
26             Default L configuration class.
27              
28             This is an internal class to L.
29              
30             =head1 METHODS
31              
32             This class inherits from L.
33              
34             It implements :
35              
36             =head2 C
37              
38             =cut
39              
40             sub repos {
41 6     6 1 1973 my $self = shift;
42 6 100       51 return $self->{repos} if defined $self->{repos};
43 5         11 my %repos;
44             find {
45             wanted => sub {
46 91 100 66 91   4126 return if m{(?:^|/)\.\.?$}
      66        
47             or not (-d $_ and -r _);
48 66 100       305 if (my $r = App::Rgit::Repository->new(dir => $_)) {
49 12         16 $File::Find::prune = 1;
50 12 50       773 $repos{$r->repo} = $r unless exists $repos{$r->repo};
51             }
52             },
53 5         303 follow => 1,
54             no_chdir => 1,
55             }, $self->root;
56 5         95 $self->{repos} = [ sort { $a->repo cmp $b->repo } values %repos ];
  11         300  
57             }
58              
59             =head1 SEE ALSO
60              
61             L.
62              
63             L.
64              
65             =head1 AUTHOR
66              
67             Vincent Pit, C<< >>, L.
68              
69             You can contact me by mail or on C (vincent).
70              
71             =head1 BUGS
72              
73             Please report any bugs or feature requests to C, or through the web interface at L.
74             I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
75              
76             =head1 SUPPORT
77              
78             You can find documentation for this module with the perldoc command.
79              
80             perldoc App::Rgit::Command::Default
81              
82             =head1 COPYRIGHT & LICENSE
83              
84             Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
85              
86             This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
87              
88             =cut
89              
90             1; # End of App::Rgit::Command::Default