Mixed in to Metadata for an ExampleGroup (extends MetadataHash) to support lazy evaluation of some values.
# File lib/rspec/core/metadata.rb, line 121 def container_stack @container_stack ||= begin groups = [group = self] while group.has_key?(:example_group) groups << group[:example_group] group = group[:example_group] end groups end end
# File lib/rspec/core/metadata.rb, line 103 def described_class container_stack.each do |g| return g[:describes] if g.has_key?(:describes) return g[:described_class] if g.has_key?(:described_class) end container_stack.reverse.each do |g| candidate = g[:description_args].first return candidate unless String === candidate || Symbol === candidate end nil end
# File lib/rspec/core/metadata.rb, line 117 def full_description build_description_from(*container_stack.reverse.map {|a| a[:description_args]}.flatten) end