Module: WrapIt::Callbacks
Overview
Callbacks implementation
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
-
#callback([name, ...]) ⇒ void
extended
from ClassMethods
Defines callback.
Instance Method Summary collapse
-
#run_callbacks(name) ⇒ void
Runs specified callbacks with block.
Class Method Details
#callback([name, ...]) ⇒ void Originally defined in module ClassMethods
This method returns an undefined value.
Defines callback
Instance Method Details
#run_callbacks(name) ⇒ void
This method returns an undefined value.
Runs specified callbacks with block
Runs first before callbacks in inheritance order, then yields block if
it given and then after callbacks in reverse order.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/wrap_it/callbacks.rb', line 30 def run_callbacks(name) self.class.collect_derived("@before_#{name}").each do |cb| if cb.is_a?(Symbol) send(cb) # if respond_to?(cb) else instance_eval(&cb) end end yield if block_given? self.class.collect_derived("@after_#{name}").reverse.each do |cb| if cb.is_a?(Symbol) send(cb) # if respond_to?(cb) else instance_eval(&cb) end end end |