module RSpec::Core::SharedExampleGroup::TopLevelDSL

def self.definitions

Other tags:
    Private: -
def self.definitions
  proc do
    def shared_examples(name, *args, &block)
      RSpec.world.shared_example_group_registry.add(:main, name, *args, &block)
    end
    alias shared_context      shared_examples
    alias shared_examples_for shared_examples
  end
end

def self.expose_globally!

Other tags:
    Api: - private
def self.expose_globally!
  return if exposed_globally?
  Core::DSL.change_global_dsl(&definitions)
  @exposed_globally = true
end

def self.exposed_globally?

Other tags:
    Private: -
def self.exposed_globally?
  @exposed_globally ||= false
end

def self.remove_globally!

Other tags:
    Api: - private
def self.remove_globally!
  return unless exposed_globally?
  Core::DSL.change_global_dsl do
    undef shared_examples
    undef shared_context
    undef shared_examples_for
  end
  @exposed_globally = false
end

def shared_examples(name, *args, &block)

def shared_examples(name, *args, &block)
  RSpec.world.shared_example_group_registry.add(:main, name, *args, &block)
end