Module: DataRedactor::Integrations::Rails
- Defined in:
- lib/data_redactor/integrations/rails.rb
Overview
Rails config.filter_parameters adapter. Returns a Proc that Rails
invokes with (key, value) for every leaf in the params tree; we redact
the value in place when it is a String.
Class Method Summary collapse
-
.filter(only: nil, except: nil, placeholder: DataRedactor::PLACEHOLDER_DEFAULT) ⇒ Proc
A
(key, value)proc compatible withconfig.filter_parameters.
Class Method Details
.filter(only: nil, except: nil, placeholder: DataRedactor::PLACEHOLDER_DEFAULT) ⇒ Proc
Returns a (key, value) proc compatible with config.filter_parameters.
27 28 29 30 31 32 33 34 35 |
# File 'lib/data_redactor/integrations/rails.rb', line 27 def filter(only: nil, except: nil, placeholder: DataRedactor::PLACEHOLDER_DEFAULT) lambda do |_key, value| next unless value.is_a?(String) # Rails' Parameter Filter mutates the value in place. We can't # reassign `value` here, so use String#replace. redacted = DataRedactor.redact(value, only: only, except: except, placeholder: placeholder) value.replace(redacted) if redacted != value end end |