module Scenario::RSpecExtensions::ExampleGroupExtensions

ExampleGroup methods

Public Instance Methods

scenario( name, opts={}, &block ) click to toggle source

Load a given scenario

# 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 ) click to toggle source
# File lib/scenario/rspec.rb, line 41
def setup_for( name, &block )
  self.send( :define_method, "setup_#{name}", block )
end