Mojolicious-Command-deploy-heroku
view release on metacpan or search on metacpan
lib/Mojolicious/Command/deploy/heroku.pm view on Meta::CPAN
my $opt = {};
return $opt
if GetOptions(
"appname|n=s" => sub { $opt->{name} = pop },
"api-key|a=s" => sub { $opt->{api_key} = pop },
"create|c" => sub { $opt->{create} = pop },
);
}
sub validate {
my $self = shift;
my $opt = shift;
my @errors =
map $_ . ' command not found' =>
grep !can_run($_) => qw/ git ssh ssh-keygen /;
# Create or appname
push @errors => '--create or --appname must be specified'
if !defined $opt->{create} and !defined $opt->{name};
lib/Mojolicious/Command/deploy/heroku.pm view on Meta::CPAN
my $self = shift;
# App home dir
$self->ua->server->app($self->app);
my $home_dir = $self->ua->server->app->home->to_string;
# Command-line Options
my $opt = $self->opt_spec(@_);
# Validate
my @errors = $self->validate($opt);
die "\n" . join("\n" => @errors) . "\n" . $self->usage if @errors;
# Net::Heroku
my $h = $self->heroku_object($opt->{api_key} || $self->local_api_key);
# Prepare
$self->generate_makefile;
$self->generate_herokufile;
# SSH key permissions
heroku_object
local_api_key
opt_spec
prompt
prompt_user_pass
push_repo
remote_key_match
run
save_local_api_key
ssh_keys
validate
verify_app
/;
done_testing;
( run in 1.686 second using v1.01-cache-2.11-cpan-39bf76dae61 )