class Cucumber::Core::Compiler::FeatureCompiler

@private

def background(background, &descend)

def background(background, &descend)
  source = [@feature, background]
  compiler = BackgroundCompiler.new(source, receiver)
  descend.call(compiler)
  self
end

def feature(feature, &descend)

def feature(feature, &descend)
  @feature = feature
  descend.call(self)
  self
end

def initialize(receiver)

def initialize(receiver)
  @receiver = receiver
end

def scenario(scenario, &descend)

def scenario(scenario, &descend)
  source = [@feature, scenario]
  scenario_compiler = ScenarioCompiler.new(source, receiver)
  descend.call(scenario_compiler)
  receiver.on_test_case(source)
  self
end

def scenario_outline(scenario_outline, &descend)

def scenario_outline(scenario_outline, &descend)
  source = [@feature, scenario_outline]
  compiler = ScenarioOutlineCompiler.new(source, receiver)
  descend.call(compiler)
  self
end