module Hooks::ClassMethods
def define_hook_writer(hook, accessor_name)
def define_hook_writer(hook, accessor_name) self.send(:define_method, hook.to_sym) do |&block| if self.class.respond_to?(hook) self.class.send(hook.to_sym, &block) end end instance_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1 def #{hook}(method=nil, &block) #{accessor_name} << (block || method) end RUBY_EVAL end