class Spec::Example::SharedExampleGroup

def guard_against_redefining_existing_example_group(new_example_group)

def guard_against_redefining_existing_example_group(new_example_group)
  existing_example_group = find_shared_example_group(new_example_group.description)
  return unless existing_example_group
  return if new_example_group.equal?(existing_example_group)
  return if spec_path(new_example_group) == spec_path(existing_example_group)
  raise ArgumentError.new("Shared Example '#{existing_example_group.description}' already exists")
end