class RSpec::Mocks::ConstantMutator::UndefinedConstantSetter
Sets an undefined constant for the duration of an example.
@api private
Public Instance Methods
mutate()
click to toggle source
# File lib/rspec/mocks/mutate_const.rb, line 314 def mutate remaining_parts = @context_parts.dup @deepest_defined_const = @context_parts.inject(Object) do |klass, name| break klass unless const_defined_on?(klass, name) remaining_parts.shift get_const_defined_on(klass, name) end context = remaining_parts.inject(@deepest_defined_const) do |klass, name| klass.const_set(name, Module.new) end @const_to_remove = remaining_parts.first || @const_name context.const_set(@const_name, @mutated_value) end
rspec_reset()
click to toggle source
# File lib/rspec/mocks/mutate_const.rb, line 338 def rspec_reset @deepest_defined_const.__send__(:remove_const, @const_to_remove) end
to_constant()
click to toggle source
Calls superclass method
RSpec::Mocks::ConstantMutator::BaseMutator#to_constant
# File lib/rspec/mocks/mutate_const.rb, line 330 def to_constant const = super const.stubbed = true const.previously_defined = false const end