class RSpec::Core::Ordering::ConfigurationManager

the APIs provided by ‘RSpec::Core::Configuration` instead.
@note This is not intended to be used externally. Use
Manages ordering configuration.
@private

def force(hash)

def force(hash)
  if hash.key?(:seed)
    self.seed = hash[:seed]
    @seed_forced  = true
    @order_forced = true
  elsif hash.key?(:order)
    self.order = hash[:order]
    @order_forced = true
  end
end

def initialize

def initialize
  @ordering_registry = Registry.new(self)
  @seed = rand(0xFFFF)
  @seed_forced = false
  @order_forced = false
end

def order=(type)

def order=(type)
  order, seed = type.to_s.split(':')
  @seed = seed.to_i if seed
  ordering_name = if order.include?('rand')
                    :random
                  elsif order == 'defined'
                    :defined
                  end
  register_ordering(:global, ordering_registry.fetch(ordering_name)) if ordering_name
end

def register_ordering(name, strategy=Custom.new(Proc.new { |l| yield l }))

def register_ordering(name, strategy=Custom.new(Proc.new { |l| yield l }))
  return if @order_forced && name == :global
  ordering_registry.register(name, strategy)
end

def seed=(seed)

def seed=(seed)
  return if @seed_forced
  register_ordering(:global, ordering_registry.fetch(:random))
  @seed = seed.to_i
end

def seed_used?

def seed_used?
  ordering_registry.used_random_seed?
end