class RSpecLive::BacktraceComponent

Public Class Methods

new(text, verbosity) click to toggle source
# File lib/rspec-live/backtrace.rb, line 31
def initialize(text, verbosity)
  @file, @line, @method = text.split(":")
  @verbosity = verbosity
end

Public Instance Methods

to_s() click to toggle source
# File lib/rspec-live/backtrace.rb, line 36
def to_s
  local_file_reference || gem_reference || "other"
end

Private Instance Methods

cleaned_method() click to toggle source
# File lib/rspec-live/backtrace.rb, line 50
def cleaned_method
  @method.gsub(/^in `/, "").gsub(/'$/, "")
end
gem_reference() click to toggle source
# File lib/rspec-live/backtrace.rb, line 54
def gem_reference
  if @file.include? "/gems/"
    local_reference = @file.split("/gems/").last
    path = local_reference.gsub(/^\/*/, "")
    gem_name_parts = local_reference.split("/").first.split("-")
    gem_name = gem_name_parts[0, gem_name_parts.length - 1].join("-")
    ref = "gem:#{gem_name}"
    ref += "/#{path}:#{@line}:#{cleaned_method}" if @verbosity > 2
    ref
  end
end
local_file_reference() click to toggle source
# File lib/rspec-live/backtrace.rb, line 42
def local_file_reference
  if @file.start_with? Dir.pwd
    ref = "#{@file.gsub(/^#{Dir.pwd}\//, "")}:#{@line}"
    ref += ":#{cleaned_method}" if @verbosity > 1
    ref
  end
end