instance method set_callback

Ruby on Rails 8.1.2

Since v7.2.3

Available in: v7.2.3 v8.0.4 v8.1.2

Signature

set_callback(name, *filter_list, &block)

Similar to ActiveSupport::Callbacks::ClassMethods#set_callback, but with support for options available on #after_commit and #after_rollback callbacks.

Parameters

name req
filter_list rest
block block
Source
# File activerecord/lib/active_record/transactions.rb, line 324
      def set_callback(name, *filter_list, &block)
        options = filter_list.extract_options!
        filter_list << options

        if name.in?([:commit, :rollback]) && options[:on]
          fire_on = Array(options[:on])
          assert_valid_transaction_action(fire_on)
          options[:if] = [
            -> { transaction_include_any_action?(fire_on) },
            *options[:if]
          ]
        end


        super(name, *filter_list, &block)
      end

Defined in activerecord/lib/active_record/transactions.rb line 324 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::Transactions::ClassMethods

Type at least 2 characters to search.

↑↓ navigate · open · esc close