Module: Gherkin::Lexer
- Defined in:
- lib/gherkin/lexer.rb
Constant Summary collapse
- I18nLexerNotFound =
Class.new(LoadError)
- LexingError =
Class.new(StandardError)
Class Method Summary collapse
Class Method Details
.[](i18n_lang) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/gherkin/lexer.rb', line 7 def [](i18n_lang) begin # Uncomment the line below (during development) to force use of Ruby lexer # return rb[i18n_lang] if defined?(JRUBY_VERSION) java[i18n_lang] else begin c[i18n_lang] rescue NameError, LoadError => e warn("WARNING: #{e.}. Reverting to Ruby lexer") rb[i18n_lang] end end rescue LoadError => e raise I18nLexerNotFound, "No lexer was found for #{i18n_lang} (#{e.}). Supported languages are listed in gherkin/i18n.yml." end end |
.c ⇒ Object
27 28 29 30 |
# File 'lib/gherkin/lexer.rb', line 27 def c require 'gherkin/c_lexer' CLexer end |
.java ⇒ Object
32 33 34 35 |
# File 'lib/gherkin/lexer.rb', line 32 def java require 'gherkin/java_lexer' JavaLexer end |
.rb ⇒ Object
37 38 39 40 |
# File 'lib/gherkin/lexer.rb', line 37 def rb require 'gherkin/rb_lexer' RbLexer end |