Sha256: fe41b295354f0c1eaff8279b20dd648cb57ec625a6d6b3116da752011b40e2bd

Contents?: true

Size: 1.59 KB

Versions: 23

Compression:

Stored size: 1.59 KB

Contents

# Rails 3.x hooks

require "rails"
require "bugsnag"
require "bugsnag/middleware/rails3_request"
require "bugsnag/middleware/rack_request"

module Bugsnag
  class Railtie < Rails::Railtie
    rake_tasks do
      require "bugsnag/rake"
      load "bugsnag/tasks/bugsnag.rake"
    end

    config.before_initialize do
      # Configure bugsnag rails defaults
      Bugsnag.configure do |config|
        config.logger = Rails.logger
        config.release_stage = Rails.env.to_s
        config.project_root = Rails.root.to_s
        config.params_filters += Rails.configuration.filter_parameters
        config.middleware.insert_before Bugsnag::Middleware::Callbacks, Bugsnag::Middleware::Rails3Request
      end

      # Auto-load configuration settings from config/bugsnag.yml if it exists
      config_file = Rails.root.join("config", "bugsnag.yml")
      config = YAML.load_file(config_file) if File.exists?(config_file)
      Bugsnag.configure(config[Rails.env] ? config[Rails.env] : config) if config

      if defined?(::ActionController::Base)
        require "bugsnag/rails/controller_methods"
        ::ActionController::Base.send(:include, Bugsnag::Rails::ControllerMethods)
      end
      if defined?(ActiveRecord::Base)
        require "bugsnag/rails/active_record_rescue"
        ActiveRecord::Base.send(:include, Bugsnag::Rails::ActiveRecordRescue)
      end
    end

    initializer "bugsnag.use_rack_middleware" do |app|
      begin
        app.config.middleware.insert_after ActionDispatch::DebugExceptions, "Bugsnag::Rack"
      rescue
        app.config.middleware.use "Bugsnag::Rack"
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
bugsnag-2.3.0 lib/bugsnag/railtie.rb
bugsnag-2.2.2 lib/bugsnag/railtie.rb
bugsnag-2.2.1 lib/bugsnag/railtie.rb
bugsnag-2.2.0 lib/bugsnag/railtie.rb
bugsnag-2.1.0 lib/bugsnag/railtie.rb
bugsnag-2.0.3 lib/bugsnag/railtie.rb
bugsnag-2.0.2 lib/bugsnag/railtie.rb
bugsnag-2.0.1 lib/bugsnag/railtie.rb
bugsnag-2.0.0 lib/bugsnag/railtie.rb
bugsnag-1.8.8 lib/bugsnag/railtie.rb
bugsnag-1.8.7 lib/bugsnag/railtie.rb
bugsnag-1.8.6 lib/bugsnag/railtie.rb
bugsnag-1.8.5 lib/bugsnag/railtie.rb
bugsnag-1.8.4 lib/bugsnag/railtie.rb
bugsnag-1.8.3 lib/bugsnag/railtie.rb
bugsnag-1.8.2 lib/bugsnag/railtie.rb
bugsnag-1.8.1 lib/bugsnag/railtie.rb
bugsnag-1.8.0 lib/bugsnag/railtie.rb
bugsnag-1.7.0 lib/bugsnag/railtie.rb
bugsnag-1.6.5 lib/bugsnag/railtie.rb