Class: Dk::TreeRunner
- Inherits:
-
DryRunner
- Object
- Runner
- ConfigRunner
- DryRunner
- Dk::TreeRunner
- Includes:
- HasTheRuns
- Defined in:
- lib/dk/tree_runner.rb
Constant Summary collapse
- LEVEL_PREFIX =
' '.freeze
- LEVEL_BULLET =
'|-- '.freeze
Constants inherited from Runner
Runner::CMD_LOG_PREFIX, Runner::CMD_SSH_OUT_LOG_PREFIX, Runner::INDENT_LOG_PREFIX, Runner::SSH_LOG_PREFIX, Runner::TASK_END_LOG_PREFIX, Runner::TASK_START_LOG_PREFIX
Instance Attribute Summary
Attributes inherited from Runner
Instance Method Summary collapse
-
#initialize(config, kernel) ⇒ TreeRunner
constructor
A new instance of TreeRunner.
- #run(*args) ⇒ Object
Methods inherited from Runner
#add_task_callback, #cmd, #has_run_task?, #log_cli_run, #log_cli_task_run, #log_debug, #log_error, #log_info, #log_task_run, #pretty_run_time, #run_task, #ssh, #task_callback_task_classes, #task_callbacks
Constructor Details
#initialize(config, kernel) ⇒ TreeRunner
Returns a new instance of TreeRunner.
14 15 16 17 18 19 20 |
# File 'lib/dk/tree_runner.rb', line 14 def initialize(config, kernel) super(config, :logger => NullLogger.new) # disable any logging @task_run_stack = [self] @run_num = 0 @kernel = kernel end |
Instance Method Details
#run(*args) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/dk/tree_runner.rb', line 22 def run(*args) # wipe the task runs before every run; that way `output_task_runs` outputs # just this run's task runs self.runs.clear # increment the run num and run the task @run_num += 1 task = super # recursively output the task runs in a tree format output_task_runs(self.runs, 0, "#{@run_num}) ".rjust(LEVEL_PREFIX.size, ' ')) # return the top-level task that was run task end |