lib/airbrake/rails/controller_methods.rb in airbrake-3.1.16 vs lib/airbrake/rails/controller_methods.rb in airbrake-3.1.17

- old
+ new

@@ -40,18 +40,25 @@ def airbrake_filter_if_filtering(hash) return hash if ! hash.is_a?(Hash) - if respond_to?(:filter_parameters) # Rails 2 filter_parameters(hash) - # elsif defined?(ActionDispatch::Http::ParameterFilter) # Rails 3 - # ActionDispatch::Http::ParameterFilter.new(::Rails.application.config.filter_parameters).filter(hash) + elsif rails3? + filter_rails3_parameters(hash) else hash end + end + def rails3? + defined?(::Rails.version) && ::Rails.version =~ /\A3/ + end + + def filter_rails3_parameters(hash) + ActionDispatch::Http::ParameterFilter.new( + ::Rails.application.config.filter_parameters).filter(hash) end def airbrake_session_data if session if session.respond_to?(:to_hash)