# 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