class Gherkin::Lexer::I18nLexer
The main entry point to lexing Gherkin source.
Constants
- COMMENT_OR_EMPTY_LINE_PATTERN
Attributes
i18n_language[R]
Public Class Methods
new(listener, force_ruby=false, iso_code='en')
click to toggle source
# File lib/gherkin/lexer/i18n_lexer.rb, line 16 def initialize(listener, force_ruby=false, iso_code='en') @listener = listener @force_ruby = force_ruby @iso_code = iso_code end
Public Instance Methods
scan(source)
click to toggle source
# File lib/gherkin/lexer/i18n_lexer.rb, line 22 def scan(source) create_delegate(source).scan(source) end
Private Instance Methods
create_delegate(source)
click to toggle source
# File lib/gherkin/lexer/i18n_lexer.rb, line 28 def create_delegate(source) @i18n_language = lang(source) @i18n_language.lexer(@listener, @force_ruby) end
lang(source)
click to toggle source
# File lib/gherkin/lexer/i18n_lexer.rb, line 33 def lang(source) key = @iso_code source.each_line do |line| break unless COMMENT_OR_EMPTY_LINE_PATTERN =~ line if LANGUAGE_PATTERN =~ line key = $2 break end end I18n.get(key) end