method

skip_callback

Importance_2
v7.1.3.2 - Show latest stable - 0 notes - Class: ClassMethods
skip_callback(name, *filter_list, &block) public

Skip a previously set callback. Like #set_callback, :if or :unless options may be passed in order to control when the callback is skipped.

Note: this example uses PersonRecord and #saving_message, which you can see defined here[rdoc-ref:ActiveSupport::Callbacks]

class Writer < PersonRecord
  attr_accessor :age
  skip_callback :save, :before, :saving_message, if: -> { age > 18 }
end

When if option returns true, callback is skipped.

writer = Writer.new
writer.age = 20
writer.save

Output:

- save
saved

When if option returns false, callback is NOT skipped.

young_writer = Writer.new
young_writer.age = 17
young_writer.save

Output:

saving...
- save
saved

An ArgumentError will be raised if the callback has not already been set (unless the :raise option is set to false).

Show source
Register or log in to add new notes.