module Cucumber::Core::Gherkin::Writer::HasElements::HasElementBuilders

Public Instance Methods

elements(*names) click to toggle source
# File lib/cucumber/core/gherkin/writer/helpers.rb, line 87
def elements(*names)
  names.each { |name| element(name) }
end

Private Instance Methods

element(name) click to toggle source
# File lib/cucumber/core/gherkin/writer/helpers.rb, line 92
def element(name)
  define_method name do |*args, &source|
    factory_name = String(name).split("_").map(&:capitalize).join
    factory = Writer.const_get(factory_name)
    factory.new(slurp_comments, *args).tap do |builder|
      builder.instance_exec(&source) if source
      elements << builder
    end
    self
  end
end