Module: Cucumber::Tcl

Defined in:
lib/cucumber/tcl.rb,
lib/cucumber/tcl/framework.rb,
lib/cucumber/tcl/data_table.rb,
lib/cucumber/tcl/activate_steps.rb,
lib/cucumber/tcl/step_definitions.rb

Defined Under Namespace

Classes: DataTable, Framework, StepDefinitions

Constant Summary collapse

ActivateSteps =
Cucumber::Core::Filter.new(:create_step_definitions) do
  def test_case(test_case)
    activated_steps = test_case.test_steps.map do |test_step|
      step_definitions.attempt_to_activate(test_step)
    end
    test_case.with_steps(activated_steps).describe_to receiver
    reset_step_definitons
  end

  private

  def reset_step_definitons
    @step_definitions = nil
  end

  def step_definitions
    @step_definitions ||= create_step_definitions.call
  end
end

Class Method Summary collapse

Class Method Details

.install(cucumber_config) ⇒ Object



15
16
17
18
19
20
# File 'lib/cucumber/tcl.rb', line 15

def self.install(cucumber_config)
  create_step_definitions = lambda {
    StepDefinitions.new(Framework.new)
  }
  cucumber_config.filters << ActivateSteps.new(create_step_definitions)
end