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