Sha256: e40972831b0ae58ac4f40bc3ea8a8ffd0f90c55caf76f557a3638580c8b70707

Contents?: true

Size: 1.42 KB

Versions: 6

Compression:

Stored size: 1.42 KB

Contents

require 'rails'
require 'yaml'

require 'honeybadger/ruby'

module Honeybadger
  module Init
    module Rails
      class Railtie < ::Rails::Railtie
        rake_tasks do
          load 'honeybadger/tasks.rb'
        end

        initializer 'honeybadger.install_middleware' do |app|
          honeybadger_config = Honeybadger::Agent.instance.config

          app.config.middleware.insert(0, Honeybadger::Rack::ErrorNotifier)
          app.config.middleware.insert_before(Honeybadger::Rack::ErrorNotifier, Honeybadger::Rack::UserInformer) if honeybadger_config[:'user_informer.enabled']
          app.config.middleware.insert_before(Honeybadger::Rack::ErrorNotifier, Honeybadger::Rack::UserFeedback) if honeybadger_config[:'feedback.enabled']
        end

        config.before_initialize do
          Honeybadger.init!({
            :root           => ::Rails.root.to_s,
            :env            => ::Rails.env,
            :'config.path'  => ::Rails.root.join('config', 'honeybadger.yml'),
            :logger         => Logging::FormattedLogger.new(::Rails.logger),
            :framework      => :rails
          })
        end

        config.after_initialize do
          Honeybadger.load_plugins!
        end

        console do
          Honeybadger::Agent.instance.config[:'insights.enabled'] = Honeybadger::Agent.instance.config[:'insights.console.enabled']
        end
      end
    end
  end
end

Honeybadger.install_at_exit_callback

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
honeybadger-5.20.1 lib/honeybadger/init/rails.rb
honeybadger-5.20.0 lib/honeybadger/init/rails.rb
honeybadger-5.19.2 lib/honeybadger/init/rails.rb
honeybadger-5.19.1 lib/honeybadger/init/rails.rb
honeybadger-5.19.0 lib/honeybadger/init/rails.rb
honeybadger-5.18.0 lib/honeybadger/init/rails.rb