Class: RSpec::Core::SharedExampleGroupInclusionStackFrame

Inherits:
Object
  • Object
show all
Defined in:
lib/rspec/core/example_group.rb

Overview

Contains information about the inclusion site of a shared example group.

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

- (SharedExampleGroupInclusionStackFrame) initialize(shared_group_name, inclusion_location)

Returns a new instance of SharedExampleGroupInclusionStackFrame

767
768
769
770
# 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

Instance Attribute Details

- (String) inclusion_location (readonly)

Returns the location where the shared example was included

Returns:

  • (String)

    the location where the shared example was included

765
766
767
# File 'lib/rspec/core/example_group.rb', line 765
def inclusion_location
  @inclusion_location
end

- (String) shared_group_name (readonly)

Returns the name of the shared example group

Returns:

  • (String)

    the name of the shared example group

763
764
765
# File 'lib/rspec/core/example_group.rb', line 763
def shared_group_name
  @shared_group_name
end

Instance Method Details

- (String) description

Returns Description of this stack frame, in the form used by RSpec's built-in formatters.

Returns:

  • (String)

    Description of this stack frame, in the form used by RSpec's built-in formatters.

783
784
785
786
# 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

- (String) formatted_inclusion_location

Returns The #inclusion_location, formatted for display by a formatter.

Returns:

773
774
775
776
777
778
779
# 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