Provides information about constants that may (or may not) have been mutated by rspec-mocks.
@return [String] The fully qualified name of the constant.
@return [Object, nil] The original value (e.g. before it
was mutated by rspec-mocks) of the constant, or nil if the constant was not previously defined.
@api private
@api private
@api private
# File lib/rspec/mocks/mutate_const.rb, line 84 def initialize(name) @name = name end
Queries rspec-mocks to find out information about the named constant.
@param [String] name the name of the constant @return [Constant] an object contaning information about the named
constant.
# File lib/rspec/mocks/mutate_const.rb, line 145 def self.original(name) mutator = ConstantMutator.find(name) mutator ? mutator.to_constant : unmutated(name) end
@api private
# File lib/rspec/mocks/mutate_const.rb, line 129 def self.unmutated(name) const = new(name) const.previously_defined = recursive_const_defined?(name) const.stubbed = false const.hidden = false const.original_value = recursive_const_get(name) if const.previously_defined? const end
@return [Boolean] Whether or not rspec-mocks has mutated
(stubbed or hidden) this constant.
# File lib/rspec/mocks/mutate_const.rb, line 107 def mutated? @stubbed || @hidden end
@return [Boolean] Whether or not the constant was defined
before the current example.
# File lib/rspec/mocks/mutate_const.rb, line 101 def previously_defined? @previously_defined end
@return [Boolean] Whether or not rspec-mocks has stubbed
this constant.
# File lib/rspec/mocks/mutate_const.rb, line 113 def stubbed? @stubbed end
# File lib/rspec/mocks/mutate_const.rb, line 123 def to_s "#<#{self.class.name} #{name}>" end