use strict; use warnings; package Path::IsDev::Role::HeuristicSet::Simple; BEGIN { $Path::IsDev::Role::HeuristicSet::Simple::AUTHORITY = 'cpan:KENTNL'; } { $Path::IsDev::Role::HeuristicSet::Simple::VERSION = '1.000001'; } # ABSTRACT: Simple excludes/includes set use Role::Tiny; with 'Path::IsDev::Role::HeuristicSet'; requires 'heuristics', 'negative_heuristics'; sub modules { my ($self) = @_; my @out; for my $heur ( $self->negative_heuristics ) { push @out, $self->_expand_negative_heuristic($heur); } for my $heur ( $self->heuristics ) { push @out, $self->_expand_heuristic($heur); } return @out; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Path::IsDev::Role::HeuristicSet::Simple - Simple excludes/includes set =head1 VERSION version 1.000001 =head1 ROLE REQUIRES =head2 C<heuristics> Consuming classes must provide this method, and return a list of shorthand Heuristics. sub heuristics { return qw( MYMETA ) } =head2 C<negative_heuristics> Consuming classes must provide this method, and return a list of shorthand Negative Heuristics. sub negative_heuristics { return qw( IsDev::IgnoreFile ) } =head1 METHODS =head2 C<modules> Returns the list of fully qualified module names that comprise this heuristic. expands results from C<< ->heuristics >> and C<< ->negative_heuristics >>, with negative ones preceding positive. =begin MetaPOD::JSON v1.1.0 { "namespace":"Path::IsDev::Role::HeuristicSet::Simple", "interface":"role", "does":"Path::IsDev::Role::HeuristicSet" } =end MetaPOD::JSON =head1 AUTHOR Kent Fredric <kentfredric@gmail.com> =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric <kentfredric@gmail.com>. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut