method
value_for_key
v6.1.7.7 -
Show latest stable
-
0 notes -
Class: CompiledFilter
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1
- 5.1.7
- 5.2.3
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2
- What's this?
value_for_key(key, value, parents = [], original_params = nil)
public
Hide source
# File activesupport/lib/active_support/parameter_filter.rb, line 108 def value_for_key(key, value, parents = [], original_params = nil) parents.push(key) if deep_regexps if regexps.any? { |r| r.match?(key.to_s) } value = @mask elsif deep_regexps && (joined = parents.join(".")) && deep_regexps.any? { |r| r.match?(joined) } value = @mask elsif value.is_a?(Hash) value = call(value, parents, original_params) elsif value.is_a?(Array) # If we don't pop the current parent it will be duplicated as we # process each array value. parents.pop if deep_regexps value = value.map { |v| value_for_key(key, v, parents, original_params) } # Restore the parent stack after processing the array. parents.push(key) if deep_regexps elsif blocks.any? key = key.dup if key.duplicable? value = value.dup if value.duplicable? blocks.each { |b| b.arity == 2 ? b.call(key, value) : b.call(key, value, original_params) } end parents.pop if deep_regexps value end