module ActiveSupport::Callbacks::ClassMethods
def skip_callback(name, *filter_list, &block)
skip_callback :validate, :before, :check_membership, if: -> { self.age > 18 }
class Writer < Person
callback is skipped.
:unless options may be passed in order to control when the
Skip a previously set callback. Like +set_callback+, :if or
def skip_callback(name, *filter_list, &block) type, filters, options = normalize_callback_params(filter_list, block) __update_callbacks(name) do |target, chain| filters.each do |filter| filter = chain.find {|c| c.matches?(type, filter) } if filter && options.any? new_filter = filter.merge(chain, options) chain.insert(chain.index(filter), new_filter) end chain.delete(filter) end target.set_callbacks name, chain end end