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