class Rip::Parser::Utilities::Normalizer
Public Class Methods
apply(origin, raw_tree)
click to toggle source
# File source/rip/parser/utilities/normalizer.rb, line 9 def self.apply(origin, raw_tree) new.apply(raw_tree, origin: origin).tap do |tree| tree.traverse do |node| case when node.values.any? { |leaf| leaf.is_a?(Parslet::Slice) } raise Rip::Parser::NormalizeError.new('Unconverted parslet slice', origin, node) when node.key?(:expression_chain) shape = node.expression_chain.map do |key, value| [ key, value.class ] end.to_h warn shape raise Rip::Parser::NormalizeError.new('Unhandled expression_chain node', origin, node) else node end end end end
Public Instance Methods
apply(raw_tree, context = nil)
click to toggle source
Calls superclass method
# File source/rip/parser/utilities/normalizer.rb, line 5 def apply(raw_tree, context = nil) super(raw_tree, context) end