module Spec::DSL::Main
  alias :Feature :describe
  def narrative(description)
    @description_args.push("\n#{description}\n")
  end
end

module Spec::Example::ExampleGroupMethods
  def Scenario(description, &blk)
    describe("Scenario:  #{description}", &blk)
  end

  def Given(description, &blk)
    describe("Given #{description}", &blk)
  end

  def When(description, &blk)
    describe("When #{description}", &blk)
  end

  def Then(description, &blk)
    example("Then #{description}", &blk)
  end

  def And(description, &blk)
    example("And #{description}", &blk)
  end

  def But(description, &blk)
    example("But #{description}", &blk)
  end

  def executes(scope=:all, &blk)
    before(scope, &blk)
  end

  def Background(description, &blk)
    describe("Background #{description}", &blk)
  end
end

module Spec::DSL::Main
  alias :Feature :describe
  def narrative(description)
    @description_args.push("\n#{description}\n")
  end
end

module Spec::Example::ExampleGroupMethods
  def Scenario(description, &implementation)
    describe("Scenario:  #{description}", &implementation)
  end

  def Given(description, &implementation)
    describe("Given #{description}", &implementation)
  end

  def When(description, &implementation)
    describe("When #{description}", &implementation)
  end

  def Then(description, &implementation)
    example("Then #{description}", &implementation)
  end

  def And(description, &implementation)
    example("And #{description}", &implementation)
  end

  def But(description, &implementation)
    example("But #{description}", &implementation)
  end

  def executes(scope=:all, &implementation)
    before(scope, &implementation)
  end

  def Background(description, &implementation)
    describe("Background #{description}", &implementation)
  end
end

Use a more expressive name for the block
Use a more expressive name for the block
