lib/hoptoad_notifier/rails.rb in hoptoad_notifier-2.1.3 vs lib/hoptoad_notifier/rails.rb in hoptoad_notifier-2.2.0
- old
+ new
@@ -1,11 +1,37 @@
-if defined?(ActionController::Base) && !ActionController::Base.include?(HoptoadNotifier::Catcher)
- ActionController::Base.send(:include, HoptoadNotifier::Catcher)
-end
+require 'hoptoad_notifier'
+require 'hoptoad_notifier/rails/controller_methods'
+require 'hoptoad_notifier/rails/action_controller_catcher'
+require 'hoptoad_notifier/rails/error_lookup'
-require 'hoptoad_notifier/rails_initializer'
-HoptoadNotifier::RailsInitializer.initialize
+module HoptoadNotifier
+ module Rails
+ 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
-HoptoadNotifier.configure(true) do |config|
- config.environment_name = RAILS_ENV
- config.project_root = RAILS_ROOT
+ 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
+ end
end
+
+HoptoadNotifier::Rails.initialize
+