App-Kit
view release on metacpan or search on metacpan
lib/App/Kit/Obj/FS.pm view on Meta::CPAN
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::rmpath' => sub {
require File::Path::Tiny;
return sub {
shift;
goto &File::Path::Tiny::rm;
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::empty_dir' => sub {
require File::Path::Tiny;
return sub {
shift;
goto &File::Path::Tiny::empty_dir;
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::mk_parent' => sub {
require File::Path::Tiny;
return sub {
shift;
goto &File::Path::Tiny::mk_parent;
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::tmpfile' => sub {
require File::Temp;
return sub {
$_[0] = 'File::Temp'; # quicker than: shift; unshift(@_, 'Class::Name::Here');
goto &File::Temp::new;
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::tmpdir' => sub {
require File::Temp;
return sub {
$_[0] = 'File::Temp'; # quicker than: shift; unshift(@_, 'Class::Name::Here');
goto &File::Temp::newdir;
};
};
has spec => (
'is' => 'ro',
'lazy' => '1',
'default' => sub {
require File::Spec;
return 'File::Spec';
},
);
has bindir => (
'is' => 'rw',
'lazy' => '1',
# 'isa' => sub { die "'bindir' must be a directory" unless -d $_[1] },
'default' => sub {
# PSGI/Plack $0
# 1. starman worker -Ilib ⦠t/test.psgi
# 2. 500 error: Cannot find current script 'starman worker -Ilib ⦠t/test.psgi' at â¦/FindBin.pm line 166.
local $0 = $0;
if ( $0 =~ m/(\S+\.psgi)/ ) {
$0 = $1;
}
require FindBin;
require Cwd;
return $FindBin::Bin || FindBin->again() || Cwd::cwd();
},
);
has inc => (
'is' => 'rw',
'default' => sub { [] },
'isa' => sub { die "'inc' must be an array ref" unless ref( $_[0] ) eq 'ARRAY' },
);
# has starting_dir => (
# 'is' => 'rw',
# 'default' => sub { undef },
# );
Sub::Defer::defer_sub __PACKAGE__ . '::read_dir' => sub {
require File::Slurp;
return sub {
shift;
goto &File::Slurp::read_dir;
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::read_file' => sub {
require File::Slurp;
return sub {
shift;
goto &File::Slurp::read_file;
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::write_file' => sub {
require File::Slurp;
return sub {
shift;
goto &File::Slurp::write_file;
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::get_iterator' => sub {
require Path::Iter;
return sub {
shift;
goto &Path::Iter::get_iterator;
};
};
Sub::Defer::defer_sub __PACKAGE__ . '::yaml_write' => sub {
require YAML::Syck;
return sub {
my ( $self, $file, $ref ) = @_;
local $YAML::Syck::ImplicitTyping = 0;
local $YAML::Syck::SingleQuote = 1; # to keep from arbitrary quoting/unquoting (to help make diff's cleaner)
( run in 1.733 second using v1.01-cache-2.11-cpan-e93a5daba3e )