edge badge
Methods
B
Class Public methods
build(callback_sequence, user_callback, user_conditions, chain_config)
# File activesupport/lib/active_support/callbacks.rb, line 202
def self.build(callback_sequence, user_callback, user_conditions, chain_config)
  if chain_config[:skip_after_callbacks_if_terminated]
    if chain_config.key?(:terminator) && user_conditions.any?
      halting_and_conditional(callback_sequence, user_callback, user_conditions)
    elsif chain_config.key?(:terminator)
      halting(callback_sequence, user_callback)
    elsif user_conditions.any?
      conditional callback_sequence, user_callback, user_conditions
    else
      simple callback_sequence, user_callback
    end
  else
    if user_conditions.any?
      conditional callback_sequence, user_callback, user_conditions
    else
      simple callback_sequence, user_callback
    end
  end
end