class PrettyTrace::BacktraceItem

Attributes

dir[R]
file[R]
full_dir[R]
line[R]
method[R]
original_line[R]
path[R]

Public Class Methods

new(original_line) click to toggle source
# File lib/pretty_trace/backtrace_item.rb, line 7
def initialize(original_line)
  @original_line = original_line
  @path, @file, @line, @dir, @full_dir = nil, nil, nil, nil, nil
  @formatted = false

  if @original_line =~ /(.+):(-?\d+):in `(.+)'/
    @formatted = true
    @path, @line, @method = $1, $2, $3
    @full_dir = File.dirname(@path)
    @dir = @full_dir.split('/').last
    @dir = @dir == '.' ? '' : "#{dir}/"
    @file = File.basename @path
  end
end

Public Instance Methods

colored_line() click to toggle source
# File lib/pretty_trace/backtrace_item.rb, line 30
def colored_line
  "line %{green}#{line.to_s.ljust 4}%{reset} in %{cyan}#{dir}%{magenta}#{file}%{reset} > %{blue}#{method}%{reset}" % colors
end
formatted?() click to toggle source
# File lib/pretty_trace/backtrace_item.rb, line 22
def formatted?
  @formatted
end
formatted_line() click to toggle source
# File lib/pretty_trace/backtrace_item.rb, line 26
def formatted_line
  formatted? ? colored_line : original_line
end