Perl6-Pugs

 view release on metacpan or  search on metacpan

misc/sixpan/JIB/lib/JIB/Utils.pm  view on Meta::CPAN

package JIB::Utils;

use strict;
use JIB::Constants;

use File::Find::Rule;
use Cwd                         ();
use File::Copy                  ();
use Params::Check               qw[check];
use Log::Message::Simple        qw[:STD];
use Module::Load::Conditional   qw[can_load];
use File::Basename              qw[dirname];

=pod

=head1 NAME

JIB::Utils

=head1 METHODS

=head2 JIB::Utils->_mkdir( dir => '/some/dir' )

C<_mkdir> creates a full path to a directory.

Returns true on success, false on failure.

=cut

sub _mkdir {
    my $self = shift;

    my %hash = @_;

    my $tmpl = {
        dir     => { required => 1 },
    };

    my $args = check( $tmpl, \%hash ) 
        or error(Params::Check->last_error), return;

    unless( can_load( modules => { 'File::Path' => 0.0 } ) ) {
        error( "Could not use File::Path! This module should be core!" );
        return;
    }

    eval { File::Path::mkpath($args->{dir}) };

    if($@) {
        chomp($@);
        error( qq[Could not create directory '$args->{dir}': $@"] );
        return;
    }

    return 1;
}

=pod

=head2 JIB::Utils->_chdir( dir => '/some/dir' )

C<_chdir> changes directory to a dir.

Returns old cwd on success, false on failure.

=cut

sub _chdir {
    my $self = shift;
    my %hash = @_;



( run in 3.923 seconds using v1.01-cache-2.11-cpan-97f6503c9c8 )