instance method
run_callbacks
Ruby on Rails 2.3.18
Since v2.2.3Signature
run_callbacks(kind, options = {}, &block)
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
Parameters
-
kindreq -
optionsopt = {} -
blockblock
Source
# File activesupport/lib/active_support/callbacks.rb, line 275
def run_callbacks(kind, options = {}, &block)
self.class.send("#{kind}_callback_chain").run(self, options, &block)
end
Defined in activesupport/lib/active_support/callbacks.rb line 275
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::Callbacks