Base
for any ExecutionStrategy
implementation. Currently, this is nothing more than an interface specification.
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.
Source: show
# File lib/optparse_plus/execution_strategy/base.rb, line 27 def exception_meaning_command_not_found subclass_must_implement! end
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).
Source: show
# File lib/optparse_plus/execution_strategy/base.rb, line 20 def run_command(command) subclass_must_implement! end