module RSpec::Mocks::RecursiveConstMethods

def recursive_const_defined?(const_name)

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? && !mod.is_a?(Module)
    return false unless const_defined_on?(mod, name)
    [get_const_defined_on(mod, name), [mod, name].join('::')]
  end
end