Contains information about the inclusion site of a shared example group.
@return [String] the location where the shared example was included
@private
# File lib/rspec/core/example_group.rb, line 789 def self.current_backtrace shared_example_group_inclusions.reverse end
# File lib/rspec/core/example_group.rb, line 767 def initialize(shared_group_name, inclusion_location) @shared_group_name = shared_group_name @inclusion_location = inclusion_location end
@private
# File lib/rspec/core/example_group.rb, line 794 def self.with_frame(name, location) current_stack = shared_example_group_inclusions current_stack << new(name, location) yield ensure current_stack.pop end
@return [String] Description of this stack frame, in the form used by
RSpec's built-in formatters.
# File lib/rspec/core/example_group.rb, line 783 def description @description ||= "Shared Example Group: #{shared_group_name.inspect} " "called from #{formatted_inclusion_location}" end
@return [String] The {#inclusion_location}, formatted for display by a formatter.
# File lib/rspec/core/example_group.rb, line 773 def formatted_inclusion_location @formatted_inclusion_location ||= begin RSpec.configuration.backtrace_formatter.backtrace_line( inclusion_location.sub(/(:\d+):in .+$/, '\1') ) end end