NAME

Footprintless::CommandRunner - A contract for an command runner

VERSION

version 1.04

DESCRIPTION

The abstract base class for all command runners. This class defines the contract that all command runners must adhere to. Implementation classes should implement _run($command, %runner_options).

CONSTRUCTORS

new(@args)

See implementation classes.

ATTRIBUTES

get_command()

Returns the last command run by this command runner.

get_exception()

Returns the message from die, if the command runner died unexpectedly.

get_exit_code()

Returns the exit code from running the command.

get_stderr()

Returns the text written to STDERR. This will only be available if the command was run without any err_??? options. See run for more details.

get_stdout()

Returns the text written to STDOUT. This will only be available if the command was run without any out_??? options. See run for more details.

METHODS

run($command, %runner_options)

Runs $command. The supported runner options are:

err_callback

A sub that will be called once for each line written to STDERR. The only argument to the sub will be $line.

err_handle

A handle to use as STDERR for the command.

in_handle

A handle to use as STDIN for the command.

out_callback

A sub that will be called once for each line written to STDOUT. The only argument to the sub will be $line.

out_handle

A handle to use as STDOUT for the command.

run_or_die($command, %runner_options)

Calls run and will die with an Footprintless::CommandRunner::ExecutionException if the exit code is non-zero.

AUTHOR

Lucas Theisen <lucastheisen@pastdev.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by Lucas Theisen.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

SEE ALSO

Please see those modules/websites for more information related to this module.