class ActiveSupport::Messages::RotationCoordinator

def build_with_rotations(salt)

def build_with_rotations(salt)
  rotate_options = @rotate_options.map { |options| options.is_a?(Proc) ? options.(salt) : options }
  transitional = self.transitional && rotate_options.first
  rotate_options.compact!
  rotate_options[0..1] = rotate_options[0..1].reverse if transitional
  rotate_options = rotate_options.map { |options| normalize_options(options) }.uniq
  raise "No options have been configured for #{salt}" if rotate_options.empty?
  rotate_options.map { |options| build(salt.to_s, **options) }.reduce(&:fall_back_to)
end