class Atomy::Code::Pattern::QuasiQuote::Walker
Public Class Methods
new()
click to toggle source
# File lib/atomy/code/pattern/quasi_quote.rb, line 29 def initialize @depth = 0 end
Public Instance Methods
go(x)
click to toggle source
# File lib/atomy/code/pattern/quasi_quote.rb, line 33 def go(x) x.accept(self) end
unquote(_)
click to toggle source
# File lib/atomy/code/pattern/quasi_quote.rb, line 56 def unquote(_) raise NotImplementedError end
visit_quasiquote(qq)
click to toggle source
# File lib/atomy/code/pattern/quasi_quote.rb, line 37 def visit_quasiquote(qq) @depth += 1 visit(qq) ensure @depth -= 1 end
visit_unquote(x)
click to toggle source
# File lib/atomy/code/pattern/quasi_quote.rb, line 44 def visit_unquote(x) @depth -= 1 if @depth == 0 unquote(x) else visit(x) end ensure @depth += 1 end