class RSpec::Mocks::Constant

Provides information about constants that may (or may not) have been mutated by rspec-mocks.

Attributes

hidden[W]

@api private

name[R]

@return [String] The fully qualified name of the constant.

original_value[RW]

@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.
previously_defined[W]

@api private

stubbed[W]

@api private

Public Class Methods

new(name) click to toggle source

@api private

# File lib/rspec/mocks/mutate_const.rb, line 84
def initialize(name)
  @name = name
  @previously_defined = false
  @stubbed = false
  @hidden = false
end
original(name) click to toggle source

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 148
def self.original(name)
  mutator = ConstantMutator.find(name)
  mutator ? mutator.to_constant : unmutated(name)
end

Private Class Methods

unmutated(name) click to toggle source

@api private

# File lib/rspec/mocks/mutate_const.rb, line 132
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

Public Instance Methods

hidden?() click to toggle source

@return [Boolean] Whether or not rspec-mocks has hidden

this constant.
# File lib/rspec/mocks/mutate_const.rb, line 122
def hidden?
  @hidden
end
inspect()
Alias for: to_s
mutated?() click to toggle source

@return [Boolean] Whether or not rspec-mocks has mutated

(stubbed or hidden) this constant.
# File lib/rspec/mocks/mutate_const.rb, line 110
def mutated?
  @stubbed || @hidden
end
previously_defined?() click to toggle source

@return [Boolean] Whether or not the constant was defined

before the current example.
# File lib/rspec/mocks/mutate_const.rb, line 104
def previously_defined?
  @previously_defined
end
stubbed?() click to toggle source

@return [Boolean] Whether or not rspec-mocks has stubbed

this constant.
# File lib/rspec/mocks/mutate_const.rb, line 116
def stubbed?
  @stubbed
end
to_s() click to toggle source
# File lib/rspec/mocks/mutate_const.rb, line 126
def to_s
  "#<#{self.class.name} #{name}>"
end
Also aliased as: inspect