method
run_callbacks
v2.1.0 -
Show latest stable
-
0 notes -
Class: ActiveSupport::Callbacks
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0 (0)
- 2.2.1 (0)
- 2.3.8 (0)
- 3.0.0 (-38)
- 3.0.9 (0)
- 3.1.0 (21)
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (-7)
- 4.1.8 (0)
- 4.2.1 (3)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- 7.2.3 (0)
- 8.0.0 (0)
- 8.1.1 (0)
- What's this?
run_callbacks(kind, options = {}, &block)
public
Runs all the callbacks defined for the given options.
If a block is given it will be called after each callback receiving as arguments:
* the result from the callback * the object which has the callback
If the result from the block evaluates to false, the callback chain is stopped.
Example:
class Storage include ActiveSupport::Callbacks define_callbacks :before_save, :after_save end class ConfigStorage < Storage before_save :pass before_save :pass before_save :stop before_save :pass def pass puts "pass" end def stop puts "stop" return false end def save result = run_callbacks(:before_save) { |result, object| result == false } puts "- save" if result end end config = ConfigStorage.new config.save
Output:
pass pass stop

