module RSpec::Core::Metadata::GroupMetadataHash

def ancestors

def ancestors
  @ancestors ||= begin
                   groups = [group = self]
                   while group.has_key?(:example_group)
                     groups << group[:example_group]
                     group = group[:example_group]
                   end
                   groups
                 end
end

def described_class_for(*)

def described_class_for(*)
  ancestors.each do |g|
    return g[:describes] if g.has_key?(:describes)
  end
  ancestors.reverse.each do |g|
    candidate = g[:description_args].first
    return candidate unless String === candidate || Symbol === candidate
  end
  nil
end

def full_description_for(*)

def full_description_for(*)
  build_description_from(*ancestors.reverse.map do |a|
    a.has_key?(:full_description) ? a[:full_description] : a[:description_args]
  end.flatten)
end