class Treetop::Runtime::SyntaxNode
Monkeypatch Treetop::Runtime::SyntaxNode's inspect method to skip any Whitespace or SyntaxNodes with no children.
Public Instance Methods
_inspect(indent="")
click to toggle source
# File lib/logstash/config/config_ast.rb, line 355 def _inspect(indent="") em = extension_modules interesting_methods = methods-[em.last ? em.last.methods : nil]-self.class.instance_methods im = interesting_methods.size > 0 ? " (#{interesting_methods.join(",")})" : "" tv = text_value tv = "...#{tv[-20..-1]}" if tv.size > 20 indent + self.class.to_s.sub(/.*:/,'') + em.map{|m| "+"+m.to_s.sub(/.*:/,'')}*"" + " offset=#{interval.first}" + ", #{tv.inspect}" + im + (elements && elements.size > 0 ? ":" + (elements.select { |e| !e.is_a?(LogStash::Config::AST::Whitespace) && e.elements && e.elements.size > 0 }||[]).map{|e| begin "\n"+e.inspect(indent+" ") rescue # Defend against inspect not taking a parameter "\n"+indent+" "+e.inspect end }.join("") : "" ) end
compile()
click to toggle source
# File lib/logstash/config/config_ast.rb, line 4 def compile return "" if elements.nil? return elements.collect(&:compile).reject(&:empty?).join("") end
recursive_inject(results=[], &block)
click to toggle source
# File lib/logstash/config/config_ast.rb, line 9 def recursive_inject(results=[], &block) if !elements.nil? elements.each do |element| if block.call(element) results << element else element.recursive_inject(results, &block) end end end return results end
recursive_inject_parent(results=[], &block)
click to toggle source
# File lib/logstash/config/config_ast.rb, line 26 def recursive_inject_parent(results=[], &block) if !parent.nil? if block.call(parent) results << parent else parent.recursive_inject_parent(results, &block) end end return results end
recursive_select(klass)
click to toggle source
# File lib/logstash/config/config_ast.rb, line 22 def recursive_select(klass) return recursive_inject { |e| e.is_a?(klass) } end
recursive_select_parent(results=[], klass)
click to toggle source
# File lib/logstash/config/config_ast.rb, line 37 def recursive_select_parent(results=[], klass) return recursive_inject_parent(results) { |e| e.is_a?(klass) } end