Bat-Interpreter

 view release on metacpan or  search on metacpan

lib/Bat/Interpreter/Delegate/Executor/PartialDryRunner.pm  view on Meta::CPAN

package Bat::Interpreter::Delegate::Executor::PartialDryRunner;

use utf8;

use Moo;
use Types::Standard qw(ArrayRef);
use namespace::autoclean;

with 'Bat::Interpreter::Role::Executor';

our $VERSION = '0.025';    # VERSION

has 'commands_executed' => ( is      => 'ro',
                             isa     => ArrayRef,
                             default => sub { [] },
);

sub add_command {
    push @{ shift->commands_executed }, @_;
}

sub execute_command {
    my $self    = shift();
    my $command = shift();
    $self->add_command($command);
    return 0;
}

sub execute_for_command {
    my $self    = shift();
    my $command = shift();
    my $output  = `$command`;
    chomp $output;
    return $output;
}

1;

__END__

=pod

=encoding utf-8

=head1 NAME

Bat::Interpreter::Delegate::Executor::PartialDryRunner

=head1 VERSION

version 0.025

=head1 SYNOPSIS

    use Bat::Interpreter;
    use Bat::Interpreter::Delegate::Executor::PartialDryRunner;

    my $partial_dry_runner = Bat::Interpreter::Delegate::Executor::PartialDryRunner->new;

    my $interpreter = Bat::Interpreter->new(executor => $partial_dry_runner);
    $interpreter->run('my.cmd');
    
    print Dumper($partial_dry_runner->commands_executed);

=head1 DESCRIPTION

This executor tries to get all the commands that are going to be executed, that is, it's like every



( run in 0.443 second using v1.01-cache-2.11-cpan-39bf76dae61 )