class TokenResolver
Resolves token types from source text.
Public Class Methods
new(text)
click to toggle source
# File lib/rosetta/services/token_resolver.rb, line 17 def initialize(text) @text = text end
Public Instance Methods
call()
click to toggle source
# File lib/rosetta/services/token_resolver.rb, line 21 def call top_level_token_classes.each do |type_class| return type_class.new(@text) if type_class.matches?(@text) end resolve_text_block end
Private Instance Methods
constantize_type(type)
click to toggle source
# File lib/rosetta/services/token_resolver.rb, line 39 def constantize_type(type) Object.const_get(type) end
resolve_text_block()
click to toggle source
# File lib/rosetta/services/token_resolver.rb, line 35 def resolve_text_block InlineTokenResolver.call(@text) end
top_level_token_classes()
click to toggle source
# File lib/rosetta/services/token_resolver.rb, line 31 def top_level_token_classes BasicToken::TOP_LEVEL_CLASS_NAMES.map { |type| constantize_type(type) } end