Class: Chronos::Core::BacktraceParser

Inherits:
Object
  • Object
show all
Defined in:
lib/chronos/core/backtrace_parser.rb

Overview

Parses CRuby and common JRuby backtrace lines without rejecting unknown input.

Examples:

parser.call(["app/job.rb:12:in `call'"])

Constant Summary collapse

DEFAULT_MAX_FRAMES =
200

Instance Method Summary collapse

Constructor Details

#initialize(root_directory, max_frames = DEFAULT_MAX_FRAMES) ⇒ BacktraceParser

Returns a new instance of BacktraceParser.



17
18
19
20
# File 'lib/chronos/core/backtrace_parser.rb', line 17

def initialize(root_directory, max_frames = DEFAULT_MAX_FRAMES)
  @root_directory = expand_root(root_directory)
  @max_frames = max_frames
end

Instance Method Details

#call(lines) ⇒ Object



22
23
24
# File 'lib/chronos/core/backtrace_parser.rb', line 22

def call(lines)
  Array(lines).first(@max_frames).map { |line| parse(line) }
end