lib/scrub_params.rb in scrub_params-0.0.1 vs lib/scrub_params.rb in scrub_params-0.0.2

- old
+ new

@@ -1,57 +1,15 @@ require "scrub_params/version" +require "active_support/hash_with_indifferent_access" require "action_controller" require "sanitize" +require "scrub_params/parameters" +require "scrub_params/controller" require "scrub_params/log_subscriber" -module ActionController - class Parameters < ActiveSupport::HashWithIndifferentAccess - attr_accessor :scrubbed_keys - - def scrub! - self.scrubbed_keys = [] - each_pair do |k, v| - self[k] = scrub_value(k, v) - end - if scrubbed_keys.any? - ActiveSupport::Notifications.instrument("scrubbed_parameters.action_controller", keys: scrubbed_keys) - end - self - end - - protected - - def scrub_value(key, value) - case value - when Hash - h = {} - value.each do |k, v| - h[k] = scrub_value(k, v) - end - h - when Array - value.map{|v| scrub_value(key, v) } - when String - scrubbed_value = Sanitize.clean(value) - if scrubbed_value != value - self.scrubbed_keys << key unless scrubbed_keys.include?(key) - end - scrubbed_value - else - value - end - end - - end +if defined?(ActionController::Parameters) + ActionController::Parameters.send :include, ScrubParams::Parameters +else + ActiveSupport::HashWithIndifferentAccess.send :include, ScrubParams::Parameters end -module ActionController - class Base - protected - - before_filter :scrub_params - - def scrub_params - params.scrub! - end - end -end +ActionController::Base.send :include, ScrubParams::Controller