module Kenma::Macro::UseMacro

Public Class Methods

new(context = {}) click to toggle source
Calls superclass method
# File lib/kenma/macro/use_macro.rb, line 13
def initialize(context = {})
  super
  extend *use_macros.reverse unless use_macros.empty?
end

Public Instance Methods

use_macro!(node) click to toggle source
# File lib/kenma/macro/use_macro.rb, line 18
def use_macro!(node)
  macro_mod = bind.eval(node.source)
  use_macros << macro_mod
  extend macro_mod
  nil
end

Private Instance Methods

scope_context_switch(context, &block) click to toggle source
Calls superclass method
# File lib/kenma/macro/use_macro.rb, line 36
def scope_context_switch(context, &block)
  super(context) { |converter|
    converter.extend *use_macros.reverse unless use_macros.empty?
    block.call(converter)
  }
end
use_macro(mod) click to toggle source
# File lib/kenma/macro/use_macro.rb, line 28
def use_macro(mod)

end
use_macros() click to toggle source
# File lib/kenma/macro/use_macro.rb, line 32
def use_macros
  scope_context[:use_macros] ||= []
end