Base for any ExecutionStrategy implementation. Currently, this is nothing more than an interface specification.

Methods
E
R
S
Instance Public methods
exception_meaning_command_not_found()

Returns the class that, if caught by calling run_command, represents the underlying command not existing. For example, in MRI Ruby, if you try to execute a non-existent command, you get a Errno::ENOENT.

# File lib/optparse_plus/execution_strategy/base.rb, line 27
def exception_meaning_command_not_found
  subclass_must_implement!
end
run_command(command)

Executes the command and returns the results back. This should do no logging or other logic other than to execute the command and return the required results. If command is an array, use exec directly bypassing any tokenization, shell or otherwise; otherwise use the normal shell interpretation of the command string.

command

the command-line to run, as an Array or a String

Returns an array of size 3:

[0]

The standard output of the command as a String, never nil

[1]

The standard error output of the command as a String, never nil

[2]

A Process::Status-like objects that responds to exitstatus which returns the exit code of the command (e.g. 0 for success).

# File lib/optparse_plus/execution_strategy/base.rb, line 20
def run_command(command)
  subclass_must_implement!
end
Instance Protected methods
subclass_must_implement!()
# File lib/optparse_plus/execution_strategy/base.rb, line 31
def subclass_must_implement!; raise "subclass must implement"; end