Module: Runbook::Run

Included in:
Runbook::Runs::SSHKit
Defined in:
lib/runbook/run.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Class Method Details

._register_additional_step_whitespace_hook(base) ⇒ Object



275
276
277
278
279
280
281
282
283
284
285
286
287
288
# File 'lib/runbook/run.rb', line 275

def self._register_additional_step_whitespace_hook(base)
  base.register_hook(
    :add_additional_step_whitespace_hook,
    :after,
    Runbook::Statement,
  ) do |object, |
    if object.parent.is_a?(Runbook::Entities::Step) ||
        object.parent.is_a?(Runbook::Entities::Setup)
      if object.parent.items.last == object
        [:toolbox].output("\n")
      end
    end
  end
end

._register_kill_all_panes_hook(base) ⇒ Object



255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
# File 'lib/runbook/run.rb', line 255

def self._register_kill_all_panes_hook(base)
  base.register_hook(
    :kill_all_panes_after_book,
    :after,
    Runbook::Entities::Book,
  ) do |object, |
    next if [:noop] || [:layout_panes].none?
    if [:auto]
      [:toolbox].output("Killing all opened tmux panes...")
      kill_all_panes([:layout_panes])
    else
      prompt = "Kill all opened panes?"
      result = [:toolbox].yes?(prompt)
      if result
        kill_all_panes([:layout_panes])
      end
    end
  end
end

.included(base) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/runbook/run.rb', line 3

def self.included(base)
  base.extend(ClassMethods)
  _register_kill_all_panes_hook(base)
  _register_additional_step_whitespace_hook(base)
  ::Runbook::Util::Repo.register_save_repo_hook(base)
  ::Runbook::Util::Repo.register_delete_stored_repo_hook(base)
  ::Runbook::Util::StoredPose.register_save_pose_hook(base)
  ::Runbook::Util::StoredPose.register_delete_stored_pose_hook(base)
end