shared_context(*args, &block)
click to toggle source
shared_examples(*args, &block)
click to toggle source
@overload #shared_examples(name,
&block) @overload #shared_examples(name,
tags, &block)
Creates and stores (but does not evaluate) the block.
@see RSpec::Core::ExampleGroup.include_examples
@see RSpec::Core::ExampleGroup.include_context
def shared_examples(*args, &block)
if [String, Symbol, Module].any? {|cls| cls === args.first }
object = args.shift
ensure_shared_example_group_name_not_taken(object)
RSpec.world.shared_example_groups[object] = block
end
unless args.empty?
mod = Module.new
(class << mod; self; end).send(:define_method, :extended) do |host|
host.class_eval(&block)
end
RSpec.configuration.extend(mod, *args)
end
end