class BELParser::Completion::MergeCompletion

Public Class Methods

new(completion_node) click to toggle source
# File lib/bel_parser/completion.rb, line 940
def initialize(completion_node)
  @completion_node = completion_node
  @target_type     = completion_node.type
  @range_start     = completion_node.range_start
end

Public Instance Methods

handler_missing(node) click to toggle source
# File lib/bel_parser/completion.rb, line 946
def handler_missing(node)
  if node.type == @target_type && node.range_start == @range_start
    node = @completion_node
  end

  node.updated(
    node.children.map { |n|
      if n.respond_to?(:type)
        process(n)
      else
        n
      end
    }
  )
end