| Dist-Zilla documentation | Contained in the Dist-Zilla distribution. |
Dist::Zilla::Plugin::GatherDir::Template - gather all the files in a directory and use them as templates
version 4.200008
This is a very, very simple FileGatherer (Dist::Zilla::FileGatherer) plugin. It looks in the directory named in the root attribute and adds all the files it finds there. If the root begins with a tilde, the tilde is replaced with the current user's home directory according to File::HomeDir.
It is meant to be used when minting dists with dzil new, but could be used
in building existing dists, too.
Ricardo SIGNES <rjbs@cpan.org>
This software is copyright (c) 2011 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Dist-Zilla documentation | Contained in the Dist-Zilla distribution. |
package Dist::Zilla::Plugin::GatherDir::Template; BEGIN { $Dist::Zilla::Plugin::GatherDir::Template::VERSION = '4.200008'; } # ABSTRACT: gather all the files in a directory and use them as templates use Moose; extends 'Dist::Zilla::Plugin::GatherDir'; with 'Dist::Zilla::Role::TextTemplate'; use autodie; use Moose::Autobox; use Dist::Zilla::File::FromCode; use namespace::autoclean; sub _file_from_filename { my ($self, $filename) = @_; my $template = do { open my $fh, '<', $filename; local $/; <$fh>; }; return Dist::Zilla::File::FromCode->new({ name => $filename, mode => ((stat $filename)[2] & 0755) | 0200, # kill world-writeability, make sure owner-writable. code => sub { my ($file_obj) = @_; $self->fill_in_string( $template, { dist => \($self->zilla), plugin => \($self), }, ); }, }); } __PACKAGE__->meta->make_immutable; no Moose; 1; __END__