module RSpec

def self.configuration

Other tags:
    See: Core::Configuration -
    See: RSpec.configure -
def self.configuration
  @configuration ||= begin
                       config = RSpec::Core::Configuration.new
                       config.expose_dsl_globally = true
                       config
                     end
end

def self.configure

Other tags:
    See: Core::Configuration -

Other tags:
    Yield: - global configuration
def self.configure
  yield configuration if block_given?
end

def self.const_missing(name)

Other tags:
    Private: -
def self.const_missing(name)
  # Load rspec-expectations when RSpec::Matchers is referenced. This allows
  # people to define custom matchers (using `RSpec::Matchers.define`) before
  # rspec-core has loaded rspec-expectations (since it delays the loading of
  # it to allow users to configure a different assertion/expectation
  # framework). `autoload` can't be used since it works with ruby's built-in
  # require (e.g. for files that are available relative to a load path dir),
  # but not with rubygems' extended require.
  #
  # As of rspec 2.14.1, we no longer require `rspec/mocks` and
  # `rspec/expectations` when `rspec` is required, so we want
  # to make them available as an autoload.
  require MODULES_TO_AUTOLOAD.fetch(name) { return super }
  ::RSpec.const_get(name)
end

def self.current_example


end
end
# ...

example = fetch_current_example.call(self)
c.before(:example) do

proc { RSpec.current_example } : proc { |context| context.example }
fetch_current_example = RSpec.respond_to?(:current_example) ?
# available until RSpec 3.0.
# context.example is deprecated, but RSpec.current_example is not
RSpec.configure do |c|

@example

versions of RSpec 2 and 3.
to the example currently being executed and also want to support all
The primary audience for this method is library authors who need access

The example being executed.
def self.current_example
  thread_local_metadata[:current_example]
end

def self.current_example=(example)

Other tags:
    Api: - private
def self.current_example=(example)
  thread_local_metadata[:current_example] = example
end

def self.reset

they use runner multiple times within the same process.
Users must invoke this if they want to have the configuration reset when

the same process.
Used to ensure examples get reloaded between multiple runs in
def self.reset
  @world = nil
  @configuration = nil
end

def self.thread_local_metadata

Other tags:
    Private: -
def self.thread_local_metadata
  Thread.current[:_rspec] ||= {}
end

def self.world

Other tags:
    Private: -
def self.world
  @world ||= RSpec::Core::World.new
end