Module: RSpec::Core::SharedContext

Defined in:
lib/rspec/core/shared_context.rb

Overview

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

Examples:


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

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

Defined Under Namespace

Classes: Recording

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.record(methods) ⇒ Object



40
41
42
43
44
45
46
# File '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

Instance Method Details

#__shared_context_recordingsObject



28
29
30
# File 'lib/rspec/core/shared_context.rb', line 28

def __shared_context_recordings
  @__shared_context_recordings ||= []
end

#included(group) ⇒ Object



21
22
23
24
25
# File 'lib/rspec/core/shared_context.rb', line 21

def included(group)
  __shared_context_recordings.each do |recording|
    recording.playback_onto(group)
  end
end