Class: Atomy::Pattern::QuasiQuote::Constructor

Inherits:
Walker show all
Defined in:
lib/atomy/pattern/quasi_quote.rb

Instance Method Summary collapse

Methods inherited from Walker

#push_literal, #unsplat, #visit_quasiquote, #visit_unquote

Constructor Details

#initialize(mod) ⇒ Constructor

Returns a new instance of Constructor.



86
87
88
89
90
# File 'lib/atomy/pattern/quasi_quote.rb', line 86

def initialize(mod)
  super()

  @module = mod
end

Instance Method Details

#go(x) ⇒ Object



92
93
94
# File 'lib/atomy/pattern/quasi_quote.rb', line 92

def go(x)
  x.accept(self)
end

#unquote(x) ⇒ Object



102
103
104
105
106
# File 'lib/atomy/pattern/quasi_quote.rb', line 102

def unquote(x)
  x.through do |p|
    @module.pattern(p)
  end
end

#visit(x) ⇒ Object



96
97
98
99
100
# File 'lib/atomy/pattern/quasi_quote.rb', line 96

def visit(x)
  x.through do |v|
    go(v)
  end
end