Module: Scenario::RSpecExtensions::ExampleGroupExtensions

Defined in:
lib/scenario/rspec.rb

Overview

ExampleGroup methods

Instance Method Summary collapse

Instance Method Details

#scenario(name, opts = {}, &block) ⇒ Object

Load a given scenario



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/scenario/rspec.rb', line 23

def scenario( name, opts={}, &block )
  @_scenario_context = name.to_sym
  scenario = Scenario::Scenarios.for( name )
  
  # Load scenario
  self.module_eval( &scenario )
  
  # Set up
  Array( opts[:setup] ).each do |subject|
    self.module_eval do
      before :all do
        self.send "setup_#{subject}"
      end
    end
  end
  self.module_eval { before( :all, &block ) } if block_given?
end

#setup_for(name, &block) ⇒ Object



41
42
43
# File 'lib/scenario/rspec.rb', line 41

def setup_for( name, &block )
  self.send( :define_method, "setup_#{name}", block )
end