# File lib/rspec/core/shared_example_group.rb, line 31 def shared_examples *args, &block if key? args.first key = args.shift raise_key_taken key if key_taken? key RSpec.world.shared_example_groups[key] = 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