Method: ActiveSupport::Callbacks::ClassMethods#skip_callback

Defined in:
lib/active_support/callbacks.rb

#skip_callback(name, *filter_list, &block) ⇒ Object

Skip a previously defined callback for a given type.



496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
# File 'lib/active_support/callbacks.rb', line 496

def skip_callback(name, *filter_list, &block)
  __update_callbacks(name, filter_list, block) do |chain, type, filters, options|
    filters.each do |filter|
      filter = chain.find {|c| c.matches?(type, filter) }

      if filter && options.any?
        new_filter = filter.clone(chain, self)
        chain.insert(chain.index(filter), new_filter)
        new_filter.recompile!(options, options[:per_key] || {})
      end

      chain.delete(filter)
    end
  end
end