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.



69
70
71
72
73
74
75
# File 'lib/pretty_debug.rb', line 69

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.



68
69
70
# File 'lib/pretty_debug.rb', line 68

def absolute_path
  @absolute_path
end

#base_labelObject

Returns the value of attribute base_label.



68
69
70
# File 'lib/pretty_debug.rb', line 68

def base_label
  @base_label
end

#labelObject

Returns the value of attribute label.



68
69
70
# File 'lib/pretty_debug.rb', line 68

def label
  @label
end

#linenoObject

Returns the value of attribute lineno.



68
69
70
# File 'lib/pretty_debug.rb', line 68

def lineno
  @lineno
end

#pathObject

Returns the value of attribute path.



68
69
70
# File 'lib/pretty_debug.rb', line 68

def path
  @path
end

#to_sObject

Returns the value of attribute to_s.



68
69
70
# File 'lib/pretty_debug.rb', line 68

def to_s
  @to_s
end

Instance Method Details

#basenameObject



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

def basename; File.basename(absolute_path) end

#dirnameObject



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

def dirname; File.dirname(absolute_path) end

#realbasenameObject



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

def realbasename; File.basename(realpath) end

#realdirnameObject



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

def realdirname; File.dirname(realpath) end

#realpathObject



78
79
80
81
82
83
# File 'lib/pretty_debug.rb', line 78

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