Class: Thread::Backtrace::PseudoLocation

Inherits:
Object
  • Object
show all
Defined in:
lib/pretty_debug.rb

Constant Summary collapse

Pattern =
/\A(?'f'[^:]+)(?::(?'l'\d+))?(?::in `(?'m'.+)'|(?'m'.+))?\z/m

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(to_s) ⇒ PseudoLocation

Returns a new instance of PseudoLocation.



66
67
68
69
70
71
72
# File 'lib/pretty_debug.rb', line 66

def initialize to_s
  @to_s = to_s
  m = @to_s.match(Pattern)
  @absolute_path, @lineno, @label = m[:f], m[:l] ? m[:l].to_i : nil, m[:m].to_s
  @path = File.basename(@absolute_path)
  @base_label = @label
end

Instance Attribute Details

#absolute_pathObject

Returns the value of attribute absolute_path.



65
66
67
# File 'lib/pretty_debug.rb', line 65

def absolute_path
  @absolute_path
end

#base_labelObject

Returns the value of attribute base_label.



65
66
67
# File 'lib/pretty_debug.rb', line 65

def base_label
  @base_label
end

#labelObject

Returns the value of attribute label.



65
66
67
# File 'lib/pretty_debug.rb', line 65

def label
  @label
end

#linenoObject

Returns the value of attribute lineno.



65
66
67
# File 'lib/pretty_debug.rb', line 65

def lineno
  @lineno
end

#pathObject

Returns the value of attribute path.



65
66
67
# File 'lib/pretty_debug.rb', line 65

def path
  @path
end

#to_sObject

Returns the value of attribute to_s.



65
66
67
# File 'lib/pretty_debug.rb', line 65

def to_s
  @to_s
end

Instance Method Details

#basenameObject



74
# File 'lib/pretty_debug.rb', line 74

def basename; File.basename(absolute_path) end

#dirnameObject



73
# File 'lib/pretty_debug.rb', line 73

def dirname; File.dirname(absolute_path) end

#realbasenameObject



82
# File 'lib/pretty_debug.rb', line 82

def realbasename; File.basename(realpath) end

#realdirnameObject



81
# File 'lib/pretty_debug.rb', line 81

def realdirname; File.dirname(realpath) end

#realpathObject



75
76
77
78
79
80
# File 'lib/pretty_debug.rb', line 75

def realpath
  case absolute_path
  when "-e".freeze, "(eval)".freeze then absolute_path
  else File.realpath(absolute_path) 
  end
end