Sha256: fd3fbde21579c9847ec58f92bf9df2904cb732e98c64ba676d15b6e4b3180b0c
Contents?: true
Size: 1.11 KB
Versions: 10
Compression:
Stored size: 1.11 KB
Contents
require "context/error_level" require "context/rc" module Groonga class Context def guard(fallback=nil) begin yield rescue => error logger.log_error(error) fallback end end def logger @logger ||= Logger.new end def writer @writer ||= Writer.new end def set_groonga_error(groonga_error) set_error_raw(groonga_error.class.rc, ErrorLevel::ERROR, groonga_error.message, groonga_error.backtrace) end def record_error(rc, error) rc = RC.find(rc) if rc.is_a?(Symbol) set_error_raw(rc, ErrorLevel::ERROR, error.message, error.backtrace) logger.log_error(error) end private def set_error_raw(rc, error_level, message, backtrace) self.rc = rc.to_i self.error_level = error_level.to_i self.error_message = message if backtrace entry = BacktraceEntry.parse(backtrace.first) self.error_file = entry.file self.error_line = entry.line self.error_method = entry.method end end end end
Version data entries
10 entries across 10 versions & 1 rubygems