Class: RSpec::Core::Ordering::ConfigurationManager

Inherits:
Object
  • Object
show all
Defined in:
lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb

Overview

Note:

This is not intended to be used externally. Use the APIs provided by ‘RSpec::Core::Configuration` instead.

Manages ordering configuration.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfigurationManager

Returns a new instance of ConfigurationManager.



119
120
121
122
123
124
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb', line 119

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

Instance Attribute Details

#ordering_registryObject (readonly)

Returns the value of attribute ordering_registry.



117
118
119
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb', line 117

def ordering_registry
  @ordering_registry
end

#seedObject

Returns the value of attribute seed.



117
118
119
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb', line 117

def seed
  @seed
end

Instance Method Details

#force(hash) ⇒ Object



151
152
153
154
155
156
157
158
159
160
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb', line 151

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

#order=(type) ⇒ Object



136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb', line 136

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
                  elsif order == 'recently-modified'
                    :recently_modified
                  end

  register_ordering(:global, ordering_registry.fetch(ordering_name)) if ordering_name
end

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



162
163
164
165
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb', line 162

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

#seed_used?Boolean

Returns:

  • (Boolean)


126
127
128
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/ordering.rb', line 126

def seed_used?
  ordering_registry.used_random_seed?
end