module Batbugger::Rails::ControllerMethods
Public Instance Methods
batbugger_request_data()
click to toggle source
# File lib/batbugger/rails/controller_methods.rb, line 4 def batbugger_request_data { :parameters => batbugger_filter_if_filtering(params.to_hash), :session_data => batbugger_filter_if_filtering(batbugger_session_data), :controller => params[:controller], :action => params[:action], :url => batbugger_request_url, :cgi_data => batbugger_filter_if_filtering(request.env) } end
Private Instance Methods
batbugger_filter_if_filtering(hash)
click to toggle source
# File lib/batbugger/rails/controller_methods.rb, line 37 def batbugger_filter_if_filtering(hash) return hash if ! hash.is_a?(Hash) # Rails 2 filters parameters in the controller # In Rails 3+ we use request.env['action_dispatch.parameter_filter'] # to filter parameters in Batbugger::Notice (avoids filtering twice) if respond_to?(:filter_parameters) filter_parameters(hash) else hash end end
batbugger_local_request?()
click to toggle source
# File lib/batbugger/rails/controller_methods.rb, line 23 def batbugger_local_request? if defined?(::Rails.application.config) ::Rails.application.config.consider_all_requests_local || (request.local? && (!request.env["HTTP_X_FORWARDED_FOR"])) else consider_all_requests_local || (local_request? && (!request.env["HTTP_X_FORWARDED_FOR"])) end end
batbugger_request_url()
click to toggle source
# File lib/batbugger/rails/controller_methods.rb, line 58 def batbugger_request_url url = "#{request.protocol}#{request.host}" unless [80, 443].include?(request.port) url << ":#{request.port}" end url << request.fullpath url end
batbugger_session_data()
click to toggle source
# File lib/batbugger/rails/controller_methods.rb, line 50 def batbugger_session_data if session.respond_to?(:to_hash) session.to_hash else session.data end end
notify_batbugger(hash_or_exception)
click to toggle source
This method should be used for sending manual notifications while you are still inside the controller. Otherwise it works like Batbugger.notify
.
# File lib/batbugger/rails/controller_methods.rb, line 17 def notify_batbugger(hash_or_exception) unless batbugger_local_request? Batbugger.notify(hash_or_exception, batbugger_request_data) end end