forked from airbrake/airbrake
/
rails.rb
40 lines (35 loc) · 1.72 KB
/
rails.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
require 'airbrake'
require 'airbrake/rails/controller_methods'
require 'airbrake/rails/action_controller_catcher'
require 'airbrake/rails/error_lookup'
require 'airbrake/rails/javascript_notifier'
module Airbrake
module Rails
def self.initialize
if defined?(ActionController::Base)
ActionController::Base.send(:include, Airbrake::Rails::ActionControllerCatcher)
ActionController::Base.send(:include, Airbrake::Rails::ErrorLookup)
ActionController::Base.send(:include, Airbrake::Rails::ControllerMethods)
ActionController::Base.send(:include, Airbrake::Rails::JavascriptNotifier)
end
rails_logger = if defined?(::Rails.logger)
::Rails.logger
elsif defined?(RAILS_DEFAULT_LOGGER)
RAILS_DEFAULT_LOGGER
end
if defined?(::Rails.configuration) && ::Rails.configuration.respond_to?(:middleware)
::Rails.configuration.middleware.insert_after 'ActionController::Failsafe',
Airbrake::Rack
::Rails.configuration.middleware.insert_after 'Rack::Lock',
Airbrake::UserInformer
end
Airbrake.configure(true) do |config|
config.logger = rails_logger
config.environment_name = defined?(Rails.env) && Rails.env || defined?(RAILS_ENV) && RAILS_ENV
config.project_root = defined?(Rails.root) && Rails.root || defined?(RAILS_ROOT) && RAILS_ROOT
config.framework = defined?(Rails.version) && "Rails: #{Rails.version}" || defined?(Rails::VERSION::STRING) && "Rails: #{Rails::VERSION::STRING}"
end
end
end
end
Airbrake::Rails.initialize