App-Skeletor
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/App/Skeletor.pm view on Meta::CPAN
sub run {
my ($class, @args) = @_;
## Look in homedir and grab any options
if(-e(my $saved_options_path = path(File::HomeDir->my_home, '.skeletor.json'))) {
print "Found user options at: $saved_options_path\n";
my $json_opts = decode_json($saved_options_path->slurp);
@args = (@args, %$json_opts);
}
local @ARGV = @args;
my ($desc ,@spec) = getopt_spec;
my ($opt, $usage) = describe_options($desc, @spec, {getopt_conf=>['pass_through']});
my ($path_to_share, $tmp) = path_to_share($opt->template);
## Templates can add or override options
if($opt->template->can('extra_getopt_spec')) {
my @new_spec = (@spec, $opt->template->extra_getopt_spec);
local @ARGV = @args;
($opt, $usage) = describe_options($desc, @new_spec);
}
my %template_var_names = (
(map { $_->{name} => $opt->${\$_->{name}} } @{$usage->{options}}),
name => template_as_name($opt->as),
namespace => $opt->as,
project_fullpath => do {my $path = path(split('::', $opt->as)); "$path" },
name_lowercase => lc(template_as_name($opt->as)),
name_lc => lc(template_as_name($opt->as)),
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.973 second using v1.00-cache-2.02-grep-82fe00e-cpan-da92000dfeb )