Module: AntSupport::Callbacks::ClassMethods

Defined in:
lib/ant_support/callbacks.rb

Instance Method Summary collapse

Instance Method Details

#define_callbacks(*callbacks) ⇒ Object

end

end


231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
# File 'lib/ant_support/callbacks.rb', line 231

def define_callbacks(*callbacks)
  callbacks.each do |callback|
    class_eval "      def self.\#{callback}(*methods, &block)\n        callbacks = CallbackChain.build(:\#{callback}, *methods, &block)\n        (@\#{callback}_callbacks ||= CallbackChain.new).concat callbacks\n      end\n\n      def self.\#{callback}_callback_chain\n        @\#{callback}_callbacks ||= CallbackChain.new\n\n        if superclass.respond_to?(:\#{callback}_callback_chain)\n          CallbackChain.new(superclass.\#{callback}_callback_chain + @\#{callback}_callbacks)\n        else\n          @\#{callback}_callbacks\n        end\n      end\n    end_eval\n  end\nend\n"