Class/Module Index [+]

Quicksearch

RSpec::Core::SharedExampleGroup

Public Class Methods

created_from_caller(other_caller) click to toggle source
# File lib/rspec/core/shared_example_group.rb, line 20
def self.created_from_caller(other_caller)
  @caller_line == other_caller.last
end
included(kls) click to toggle source
# File lib/rspec/core/shared_example_group.rb, line 24
def self.included(kls)
  kls.describe(&@shared_block)
  kls.children.first.metadata[:shared_group_name] = name
end

Public Instance Methods

share_as(name, &block) click to toggle source
# File lib/rspec/core/shared_example_group.rb, line 10
def share_as(name, &block)
  if Object.const_defined?(name)
    mod = Object.const_get(name)
    raise_name_error unless mod.created_from_caller(caller)
  end

  mod = Module.new do
    @shared_block = block
    @caller_line = caller.last

    def self.created_from_caller(other_caller)
      @caller_line == other_caller.last
    end

    def self.included(kls)
      kls.describe(&@shared_block)
      kls.children.first.metadata[:shared_group_name] = name
    end
  end

  shared_const = Object.const_set(name, mod)
  RSpec.world.shared_example_groups[shared_const] = block
end
share_examples_for(name, &block) click to toggle source
# File lib/rspec/core/shared_example_group.rb, line 5
def share_examples_for(name, &block)
  ensure_shared_example_group_name_not_taken(name)
  RSpec.world.shared_example_groups[name] = block
end
Also aliased as: shared_examples_for
shared_examples_for(name, &block) click to toggle source
Alias for: share_examples_for

[Validate]

Generated with the Darkfish Rdoc Generator 2.