module Grokdown::Consuming

Public Class Methods

extended(base) click to toggle source
# File lib/grokdown/consuming.rb, line 5
def self.extended(base)
  base.send(:include,InstanceMethods)
end

Public Instance Methods

consume(inst,node) click to toggle source
# File lib/grokdown/consuming.rb, line 18
def consume(inst,node)
  @consumables ||= {}
  inst.send(@consumables.fetch(node.class),node)
rescue KeyError
  raise ArgumentError, "#{inst.class} cannot consume #{node.class}"
end
consumes(mapping={}) click to toggle source
# File lib/grokdown/consuming.rb, line 14
def consumes(mapping={})
  @consumables = mapping
end
consumes?(node) click to toggle source
# File lib/grokdown/consuming.rb, line 9
def consumes?(node)
  @consumables ||= {}
  @consumables.has_key?(node.class)
end