Class/Module Index [+]

Quicksearch

RSpec::RecursiveConstMethods

Provides recursive constant lookup methods useful for constant stubbing. @private

Public Instance Methods

const_defined_on?(mod, const_name) click to toggle source
# File lib/rspec/core/example_group.rb, line 602
def const_defined_on?(mod, const_name)
  mod.const_defined?(const_name)
end
constants_defined_on(mod) click to toggle source
# File lib/rspec/core/example_group.rb, line 614
def constants_defined_on(mod)
  mod.constants.select { |c| const_defined_on?(mod, c) }
end
get_const_defined_on(mod, const_name) click to toggle source
# File lib/rspec/core/example_group.rb, line 606
def get_const_defined_on(mod, const_name)
  if const_defined_on?(mod, const_name)
    return mod.const_get(const_name)
  end

  raise NameError, "uninitialized constant #{mod.name}::#{const_name}"
end
normalize_const_name(const_name) click to toggle source
# File lib/rspec/core/example_group.rb, line 645
def normalize_const_name(const_name)
  const_name.sub(/\A::/, '')
end
recursive_const_defined?(const_name) click to toggle source
# File lib/rspec/core/example_group.rb, line 637
def recursive_const_defined?(const_name)
  normalize_const_name(const_name).split('::').inject([Object, '']) do |(mod, full_name), name|
    yield(full_name, name) if block_given? && !(Module === mod)
    return false unless const_defined_on?(mod, name)
    [get_const_defined_on(mod, name), [mod, name].join('::')]
  end
end
recursive_const_get(const_name) click to toggle source
# File lib/rspec/core/example_group.rb, line 631
def recursive_const_get(const_name)
  normalize_const_name(const_name).split('::').inject(Object) do |mod, name|
    get_const_defined_on(mod, name)
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.