Module: HoptoadNotifier::Rails

Defined in:
lib/hoptoad_notifier/rails.rb,
lib/hoptoad_notifier/rails/error_lookup.rb,
lib/hoptoad_notifier/rails/controller_methods.rb,
lib/hoptoad_notifier/rails/action_controller_catcher.rb

Defined Under Namespace

Modules: ActionControllerCatcher, ControllerMethods, ErrorLookup

Class Method Summary collapse

Class Method Details

.initializeObject



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
# File 'lib/hoptoad_notifier/rails.rb', line 8

def self.initialize
  if defined?(ActionController::Base)
    ActionController::Base.send(:include, HoptoadNotifier::Rails::ActionControllerCatcher)
    ActionController::Base.send(:include, HoptoadNotifier::Rails::ErrorLookup)
    ActionController::Base.send(:include, HoptoadNotifier::Rails::ControllerMethods)
  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',
                                                  HoptoadNotifier::Rack
  end

  HoptoadNotifier.configure(true) do |config|
    config.logger = rails_logger
    config.environment_name = RAILS_ENV  if defined?(RAILS_ENV)
    config.project_root     = RAILS_ROOT if defined?(RAILS_ROOT)
    config.framework        = "Rails: #{::Rails::VERSION::STRING}" if defined?(::Rails::VERSION)
  end
end