Class: RSpec::Mocks::ConstantMutator::BaseMutator Private

Inherits:
Object
  • Object
show all
Includes:
RecursiveConstMethods
Defined in:
lib/rspec/mocks/mutate_const.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Contains common functionality used by all of the constant mutators.

Direct Known Subclasses

ConstantHider, DefinedConstantReplacer, UndefinedConstantSetter

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Methods included from RecursiveConstMethods

#const_defined_on?, #constants_defined_on, #get_const_defined_on, #normalize_const_name, #recursive_const_defined?, #recursive_const_get

Constructor Details

- (BaseMutator) initialize(full_constant_name, mutated_value, transfer_nested_constants)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

A new instance of BaseMutator



204
205
206
207
208
209
210
# File 'lib/rspec/mocks/mutate_const.rb', line 204

def initialize(full_constant_name, mutated_value, transfer_nested_constants)
  @full_constant_name        = normalize_const_name(full_constant_name)
  @mutated_value             = mutated_value
  @transfer_nested_constants = transfer_nested_constants
  @context_parts             = @full_constant_name.split('::')
  @const_name                = @context_parts.pop
end

Instance Attribute Details

- (Object) full_constant_name (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



202
203
204
# File 'lib/rspec/mocks/mutate_const.rb', line 202

def full_constant_name
  @full_constant_name
end

- (Object) original_value (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



202
203
204
# File 'lib/rspec/mocks/mutate_const.rb', line 202

def original_value
  @original_value
end

Instance Method Details

- (Object) to_constant

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



212
213
214
215
216
217
# File 'lib/rspec/mocks/mutate_const.rb', line 212

def to_constant
  const = Constant.new(full_constant_name)
  const.original_value = original_value

  const
end