Module: WrapIt::Callbacks
Overview
Callbacks implementation
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
10 11 12 |
# File 'lib/wrap_it/callbacks.rb', line 10 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#run_callbacks(name) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/wrap_it/callbacks.rb', line 14 def run_callbacks(name) self.class.collect_derived("@before_#{name}").each do |cb| if cb.is_a?(Symbol) # break if send(cb) == false # if respond_to?(cb) send(cb) # if respond_to?(cb) else # break if instance_eval(&cb) == false instance_eval(&cb) end end yield if block_given? self.class.collect_derived("@after_#{name}").reverse.each do |cb| if cb.is_a?(Symbol) # break if send(cb) == false # if respond_to?(cb) send(cb) # if respond_to?(cb) else # break if instance_eval(&cb) == false instance_eval(&cb) end end end |