edge badge
Methods
B
Class Public methods
build(next_callback, user_callback, user_conditions, chain_config, filter)
# File activesupport/lib/active_support/callbacks.rb, line 120
def self.build(next_callback, user_callback, user_conditions, chain_config, filter)
  halted_lambda = chain_config[:terminator]

  if chain_config.key?(:terminator) && user_conditions.any?
    halting_and_conditional(next_callback, user_callback, user_conditions, halted_lambda, filter)
  elsif chain_config.key? :terminator
    halting(next_callback, user_callback, halted_lambda, filter)
  elsif user_conditions.any?
    conditional(next_callback, user_callback, user_conditions)
  else
    simple next_callback, user_callback
  end
end