module PrioritizedCallbacks::ActiveSupport::CallbackChainPatch

Public Class Methods

new(name, config) click to toggle source
Calls superclass method
# File lib/prioritized_callbacks/active_support/callback_chain_patch.rb, line 4
def initialize(name, config)
  super
  @config[:order] ||= [:default]
  @chain          = PrioritizedCallbacks::CallbackList.new(@config)
end

Public Instance Methods

copy_with_new_order(order) click to toggle source
# File lib/prioritized_callbacks/active_support/callback_chain_patch.rb, line 10
def copy_with_new_order(order)
  new_chain     = dup
  new_config    = config.merge(order: order)
  new_callbacks = @chain.dup
  new_callbacks.instance_variable_set(:@config, new_config)
  new_chain.instance_variable_set(:@config, new_config)
  new_chain.instance_variable_set(:@chain, new_callbacks)
  new_chain
end