module ActiveSupport::Callbacks::ClassMethods

def __define_callbacks(kind, object) #:nodoc:

:nodoc:
This generated method plays caching role.
if it was not yet defined.
This method defines callback chain method for the given kind
def __define_callbacks(kind, object) #:nodoc:
  name = __callback_runner_name(kind)
  unless object.respond_to?(name, true)
    str = object.send("_#{kind}_callbacks").compile
    class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1
      def #{name}() #{str} end
      protected :#{name}
    RUBY_EVAL
  end
  name
end