Dist-Zilla-Plugin-Web
view release on metacpan or search on metacpan
lib/Dist/Zilla/Plugin/Web/FileHeader.pm view on Meta::CPAN
package Dist::Zilla::Plugin::Web::FileHeader;
$Dist::Zilla::Plugin::Web::FileHeader::VERSION = '0.0.10';
# ABSTRACT: Prepend header to files
use Moose;
use Path::Class;
use String::BOM qw(strip_bom_from_string);
with 'Dist::Zilla::Role::FileMunger';
with 'Dist::Zilla::Plugin::Web::Role::FileMatcher';
has 'header_filename' => (
isa => 'Str',
is => 'rw'
);
#================================================================================================================================================================================================================================================
sub munge_files {
my $self = shift;
return unless -e $self->header_filename;
my $header_content = strip_bom_from_string(file($self->header_filename)->slurp() . "");
my $version = $self->zilla->version;
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
# perl is such an oldboy :)
$year += 1900;
$header_content =~ s/%v/$version/;
$header_content =~ s/%y/$year/;
$self->for_each_matched_file(sub {
my ($file) = @_;
$file->content($header_content . $file->content);
});
}
#================================================================================================================================================================================================================================================
sub prepend_header_to_file {
my ($self, $file) = @_;
return unless -e $self->header_filename;
my $header_content = file($self->header_filename)->slurp();
my $version = $self->zilla->version;
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
# perl is such an oldboy :)
$year += 1900;
$header_content =~ s/%v/$version/;
$header_content =~ s/%y/$year/;
my $file_content = file($file)->slurp;
my $fh = file($file)->openw;
( run in 3.798 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )