class Flame::RavenContext

Class for request context initialization

Constants

DEFAULT_LOGGERS
VERSION

Attributes

exception[R]

Public Class Methods

loggers() click to toggle source
# File lib/flame/raven_context.rb, line 40
        def loggers
        DEFAULT_LOGGERS.deep_dup
end
new( sentry_logger, controller: nil, env: controller&.request&.env, **extra ) click to toggle source
# File lib/flame/raven_context.rb, line 47
def initialize(
        sentry_logger, controller: nil, env: controller&.request&.env, **extra
)
        @sentry_logger = sentry_logger
        @controller = controller
        @env = env
        @extra = extra
        @logger = self.class.loggers[@sentry_logger]
        @exception = @extra.delete(:exception) || instance_exec(&@logger[:message])
        @extra[:sql] = exception.sql if exception.respond_to? :sql
end

Public Instance Methods

exception_with_context() click to toggle source
# File lib/flame/raven_context.rb, line 59
        def exception_with_context
        [exception, context]
end

Private Instance Methods

context() click to toggle source
# File lib/flame/raven_context.rb, line 69
        def context
        Raven::Context.clear!
        Raven.rack_context(@env) if @env

        {
                level: @logger[:level],
                user: user || {},
                logger: @sentry_logger,
                extra: @extra
        }
end
user() click to toggle source
# File lib/flame/raven_context.rb, line 65
def user
        @controller&.send(:authenticated)&.account
end