class Backtrace
Backtrace
as a string.
- Author
-
Yegor Bugayenko (yegor256@gmail.com)
- Copyright
-
Copyright © 2018 Yegor Bugayenko
- License
-
MIT
Public Class Methods
exec(swallow: false, log: nil, mine: '') { || ... }
click to toggle source
# File lib/backtrace.rb, line 47 def self.exec(swallow: false, log: nil, mine: '') yield rescue StandardError => e trace = Backtrace.new(e, mine: mine).to_s if log.nil? || !log.respond_to?(:error) puts trace else log.error(trace) end raise e unless swallow end
new(exp, mine: '')
click to toggle source
# File lib/backtrace.rb, line 30 def initialize(exp, mine: '') @exp = exp @mine = (mine.is_a?(Regexp) ? mine : Regexp.new(Regexp.quote(mine))) end
Public Instance Methods
to_s()
click to toggle source
# File lib/backtrace.rb, line 35 def to_s [ @exp.class.name, ': ', @exp.message, "\n\t", @exp.backtrace.reverse .drop_while { |t| @mine.match(t).nil? } .reverse.join("\n\t") ].join end