Class: Restfulness::Sanitizer::Hash

Inherits:
AbstractSanitizer show all
Defined in:
lib/restfulness/sanitizer.rb

Overview

Clean a hash of sensitive data. Works on nested hashes

Instance Attribute Summary

Attributes inherited from AbstractSanitizer

#sensitive_param_matcher, #sensitive_params

Instance Method Summary collapse

Methods inherited from AbstractSanitizer

#initialize, #sensitive_param?

Constructor Details

This class inherits a constructor from Restfulness::Sanitizer::AbstractSanitizer

Instance Method Details

#sanitize(h) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/restfulness/sanitizer.rb', line 34

def sanitize(h)
  return h if sensitive_params.empty? || h.empty?
  duplicate = h.dup
  duplicate.each_pair do |k, v|
    duplicate[k] = if sensitive_param?(k)
      SANITIZED
    elsif v.is_a?(::Hash)
      sanitize(v)
    else
      v
    end
  end
  duplicate
end