module Stackify::Backtrace
Constants
- ALL_TEXT_FROM_START_TO_FIRST_COLON_REGEXP
- NUMBER_BETWEEN_TWO_COLONS_REGEXP
- TEXT_AFTER_IN_BEFORE_END_REGEXP
- TEXT_AFTER_IN_BEFORE_END_REGEXP_
Public Class Methods
backtrace_in_line(backtrace)
click to toggle source
# File lib/stackify/utils/backtrace.rb, line 34 def self.backtrace_in_line backtrace backtrace.join("\n") end
file_name(backtrace_str)
click to toggle source
# File lib/stackify/utils/backtrace.rb, line 17 def self.file_name backtrace_str backtrace_str[ALL_TEXT_FROM_START_TO_FIRST_COLON_REGEXP, 1] end
line_number(backtrace_str)
click to toggle source
# File lib/stackify/utils/backtrace.rb, line 8 def self.line_number backtrace_str backtrace_str[NUMBER_BETWEEN_TWO_COLONS_REGEXP, 1] end
method_name(backtrace_str)
click to toggle source
# File lib/stackify/utils/backtrace.rb, line 12 def self.method_name backtrace_str return nil unless backtrace_str backtrace_str[TEXT_AFTER_IN_BEFORE_END_REGEXP, 1] || backtrace_str[TEXT_AFTER_IN_BEFORE_END_REGEXP_, 1] end
stacktrace(depth=5, backtrace)
click to toggle source
# File lib/stackify/utils/backtrace.rb, line 21 def self.stacktrace depth=5, backtrace return nil unless backtrace new_backtrace = [] backtrace.take(depth).each do |line| new_backtrace << { 'LineNum' => line_number(line), 'Method' => method_name(line), 'CodeFileName' => file_name(line) } end new_backtrace end