module RSpec::Core::SharedContext

Exposes {ExampleGroup}-level methods to a module, so you can include that module in an {ExampleGroup}.

@example

module LoggedInAsAdmin
  extend RSpec::Core::SharedContext
  before(:example) do
    log_in_as :admin
  end
end

describe "admin section" do
  include LoggedInAsAdmin
  # ...
end

Constants

Recording

@private

Public Class Methods

@private

# File rspec-core/lib/rspec/core/shared_context.rb, line 40
def self.record(methods)
  methods.each do |meth|
    define_method(meth) do |*args, &block|
      __shared_context_recordings << Recording.new(meth, args, block)
    end
  end
end

Public Instance Methods

@private

# File rspec-core/lib/rspec/core/shared_context.rb, line 28
def __shared_context_recordings
  @__shared_context_recordings ||= []
end

@private

# File rspec-core/lib/rspec/core/shared_context.rb, line 21
def included(group)
  __shared_context_recordings.each do |recording|
    recording.playback_onto(group)
  end
end