Module: Rootage::ScenarioInterface

Included in:
Scenario, Scenario
Defined in:
lib/rootage/scenario.rb

Overview

ScenarioInterface provides basic methods for Scenario.

Instance Method Summary collapse

Instance Method Details

#define(*args) ⇒ Object



73
74
75
# File 'lib/rootage/scenario.rb', line 73

def define(*args)
  @info.define(*args)
end

#define_phase(name) {|phase| ... } ⇒ void

This method returns an undefined value.

Define a phase.

Parameters:

  • name (String)

    phase name

Yield Parameters:

  • phase (Phase)

    phase object

Raises:

  • (ArgumentError)

    if there is same name phase already



107
108
109
110
111
112
113
114
115
116
117
# File 'lib/rootage/scenario.rb', line 107

def define_phase(name, &block)
  if @__phase__.has_key?(name)
    raise ArgumentError.new('Phase "%{name}" has been defined already.' % {name: name})
  end

  @__phase__[name] = phase_class.new(name)

  if block_given?
    block.call(@__phase__[name])
  end
end

#descObject



81
82
83
# File 'lib/rootage/scenario.rb', line 81

def desc
  @info.desc
end

#phase(name, &block) ⇒ Command::Phase

Find a phase object by the name.

Parameters:

  • name (Symbol)

    the phase name

Returns:

  • (Command::Phase)

    a phase object



125
126
127
128
129
130
131
132
133
134
135
# File 'lib/rootage/scenario.rb', line 125

def phase(name, &block)
  unless @__phase__.has_key?(name)
    raise ArgumentError.new('Unknown phase name: "%s"' % name)
  end

  if block_given?
    block.call(@__phase__[name])
  end

  @__phase__[name]
end

#phase_classObject

Return a phase class used for this scnario.



94
95
96
# File 'lib/rootage/scenario.rb', line 94

def phase_class
  @info[:phase_class]
end

#process_context_classClass

Return a process context class.

Returns:

  • (Class)

    process context class



89
90
91
# File 'lib/rootage/scenario.rb', line 89

def process_context_class
  @info[:process_context_class]
end

#scenario_nameObject



77
78
79
# File 'lib/rootage/scenario.rb', line 77

def scenario_name
  @info.scenario_name
end