Class: Cucumber::Parser::Loader

Inherits:
Object
  • Object
show all
Defined in:
lib/cucumber/parser.rb

Instance Method Summary collapse

Constructor Details

#initialize(keywords) ⇒ Loader

Returns a new instance of Loader.



21
22
23
24
25
26
27
28
29
# File 'lib/cucumber/parser.rb', line 21

def initialize(keywords)
  @keywords = keywords
  i18n_tt = File.expand_path(File.dirname(__FILE__) + '/parser/i18n.tt')
  template = File.open(i18n_tt, Cucumber.file_mode('r')).read
  erb = ERB.new(template)
  grammar = erb.result(binding)
  Treetop.load_from_string(grammar)
  require 'cucumber/parser/feature'
end

Instance Method Details

#keywords(key, raw = false) ⇒ Object



31
32
33
34
35
# File 'lib/cucumber/parser.rb', line 31

def keywords(key, raw=false)
  return @keywords[key] if raw
  values = @keywords[key].split('|')
  values.map{|value| "'#{value}'"}.join(" / ")
end