GCloud-CLIWrapper
view release on metacpan or search on metacpan
lib/GCloud/CLIWrapper.pm view on Meta::CPAN
package GCloud::CLIWrapper;
use Moose;
use JSON::MaybeXS;
use IPC::Open3;
use GCloud::CLIWrapper::Result;
our $VERSION = '0.01';
has gcloud => (is => 'ro', isa => 'Str', default => 'gcloud');
has gcloud_options => (is => 'ro', isa => 'ArrayRef[Str]', lazy => 1, default => sub { [ ] });
sub command_for {
my ($self, @params) = @_;
return ($self->gcloud, @{ $self->gcloud_options }, @params);
}
sub run {
my ($self, @command) = @_;
return $self->input(undef, @command);
}
lib/GCloud/CLIWrapper/Result.pm view on Meta::CPAN
package GCloud::CLIWrapper::Result {
use Moose;
has rc => (is => 'ro', isa => 'Int', required => 1);
has output => (is => 'ro', isa => 'Str');
has json => (is => 'ro', isa => 'HashRef');
has success => (is => 'ro', isa => 'Bool', lazy => 1, default => sub {
my $self = shift;
$self->rc == 0;
});
}
1;
( run in 0.710 second using v1.01-cache-2.11-cpan-5f2e87ce722 )