Class: Cri::CommandRunner
- Inherits:
-
Object
- Object
- Cri::CommandRunner
- Defined in:
- lib/cri/command_runner.rb
Overview
A command runner is responsible for the execution of a command. Using it is optional, but it is useful for commands whose execution block is large.
Instance Attribute Summary collapse
-
#arguments ⇒ Array
readonly
The list of arguments.
-
#command ⇒ Command
readonly
The command.
-
#options ⇒ Hash
readonly
A hash contain the options and their values.
Instance Method Summary collapse
-
#call ⇒ void
Runs the command.
-
#initialize(options, arguments, command) ⇒ CommandRunner
constructor
Creates a command runner from the given options, arguments and command.
-
#run ⇒ void
abstract
Performs the actual execution of the command.
Constructor Details
#initialize(options, arguments, command) ⇒ CommandRunner
Creates a command runner from the given options, arguments and command.
23 24 25 26 27 |
# File 'lib/cri/command_runner.rb', line 23 def initialize(, arguments, command) @options = @arguments = arguments @command = command end |
Instance Attribute Details
#arguments ⇒ Array (readonly)
Returns The list of arguments.
11 12 13 |
# File 'lib/cri/command_runner.rb', line 11 def arguments @arguments end |
#command ⇒ Command (readonly)
Returns The command.
14 15 16 |
# File 'lib/cri/command_runner.rb', line 14 def command @command end |
#options ⇒ Hash (readonly)
Returns A hash contain the options and their values.
8 9 10 |
# File 'lib/cri/command_runner.rb', line 8 def @options end |
Instance Method Details
#call ⇒ void
This method returns an undefined value.
Runs the command. By default, this simply does the actual execution, but subclasses may choose to add error handling around the actual execution.
33 34 35 |
# File 'lib/cri/command_runner.rb', line 33 def call run end |
#run ⇒ void
This method returns an undefined value.
Performs the actual execution of the command.
42 43 44 |
# File 'lib/cri/command_runner.rb', line 42 def run raise NotImplementedError, 'Cri::CommandRunner subclasses must implement #run' end |