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