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 )