diff --git a/lib/Path/Filter/Rule/VersionControl.pm b/lib/Path/Filter/Rule/VersionControl.pm new file mode 100644 index 0000000..8eb72a6 --- /dev/null +++ b/lib/Path/Filter/Rule/VersionControl.pm @@ -0,0 +1,18 @@ +use MooseX::Declare; + +class Path::Filter::Rule::VersionControl + extends Path::Filter::Rule::Set + with Path::Filter::Rule::Static { + use Path::Filter::Rule::VersionControl::Subversion; + use Path::Filter::Rule::VersionControl::Git; + + method get_instance(ClassName $class:) { + return $class->new( + rules => [ + Path::Filter::Rule::VersionControl::Git::, + Path::Filter::Rule::VersionControl::Subversion::, + ], + ); + } + +} diff --git a/t/basic.t b/t/basic.t index c8b0534..44ffbec 100644 --- a/t/basic.t +++ b/t/basic.t @@ -20,7 +20,7 @@ ok !$filter->filter('.#thing#/foo'); ok !$filter->filter('new.txt'); my $rooted = Path::Filter->new( - rules => [qw/VersionControl::Git/], + rules => [qw/VersionControl/], root => '/foo/', ); @@ -30,4 +30,6 @@ ok $rooted->filter('/foo/.git/refs/heads/'); ok !$rooted->filter('/foo/bar/.git/config'); ok !$rooted->filter('/foo/.gitignore'); +ok $rooted->filter('/foo/bar/.svn/baz'); + done_testing;