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" |