module Temple::Mixins::Dispatcher::ClassMethods
def temple_dispatch(*bases)
def temple_dispatch(*bases) bases.each do |base| class_eval %{def on_#{base}(type, *args) if respond_to?("on_" #{base.to_s.inspect} "_\#{type}") send("on_" #{base.to_s.inspect} "_\#{type}", *args) else [:#{base}, type, *args] end end} end end