class Referral::TranslatesNodeToToken

Public Instance Methods

call(node, parent, file) click to toggle source
# File lib/referral/translates_node_to_token.rb, line 6
def call(node, parent, file)
  return unless (type = TOKEN_TYPES.values.find { |d| node.type == d.ast_type })

  Value::Token.new(
    name: type.name_finder.call(node),
    node_type: type,
    parent: parent,
    file: file,
    line: node.first_lineno,
    column: node.first_column,
    arity: type&.arity_finder&.call(node)
  )
end