class ForemanMaintain::Scenario

Attributes

steps[R]

Public Class Methods

inspect() click to toggle source
# File lib/foreman_maintain/scenario.rb, line 91
def self.inspect
  "Scenario Class #{metadata[:description]}<#{name}>"
end
new() click to toggle source
# File lib/foreman_maintain/scenario.rb, line 57
def initialize
  @steps = []
  compose
end

Public Instance Methods

add_step(step) click to toggle source
# File lib/foreman_maintain/scenario.rb, line 87
def add_step(step)
  add_steps([step])
end
add_steps(steps) click to toggle source
# File lib/foreman_maintain/scenario.rb, line 81
def add_steps(steps)
  steps.each do |step|
    self.steps << step.ensure_instance
  end
end
before_scenarios() click to toggle source

scenarios to be run before this scenario

# File lib/foreman_maintain/scenario.rb, line 74
def before_scenarios
  scenarios = []
  preparation_scenario = PreparationScenario.new(self)
  scenarios << [preparation_scenario] unless preparation_scenario.steps.empty?
  scenarios
end
compose() click to toggle source

Override to compose steps for the scenario

# File lib/foreman_maintain/scenario.rb, line 63
def compose; end
inspect() click to toggle source
# File lib/foreman_maintain/scenario.rb, line 95
def inspect
  "#{self.class.metadata[:description]}<#{self.class.name}>"
end
preparation_steps() click to toggle source
# File lib/foreman_maintain/scenario.rb, line 65
def preparation_steps
  # we first take the preparation steps defined for the scenario + collect
  # preparation steps for the steps inside the scenario
  steps.inject(super.dup) do |results, step|
    results.concat(step.preparation_steps)
  end.uniq
end