class Rootage::Phase

‘Phase` is a sequence of action items.

Public Class Methods

new(name=nil) click to toggle source
Calls superclass method
# File lib/rootage/action.rb, line 22
def initialize(name=nil)
  super()
  self.name = name
end

Public Instance Methods

execute(scenario) click to toggle source

Execute all actions in this phase.

@param scenario [Scenario]

a scenario owned this phase

@return [void]

# File lib/rootage/action.rb, line 32
def execute(scenario)
  err = PhaseTimeoutError.new(scenario.name, name)

  catch(:rootage_sequence_quit) do
    execute_pre(scenario)
    Timeout.timeout(option[:timeout], err) do
      execute_main(scenario) do |item|
        self.current_action = item
        err.action_name = item.name
      end
    end
    execute_post(scenario)
  end

  self.current_action = nil
end