method
value_for_key
rails latest stable - Class:
ActiveSupport::ParameterFilter
value_for_key(key, value, full_parent_key = nil, original_params = nil)private
No documentation available.
# File activesupport/lib/active_support/parameter_filter.rb, line 135
def value_for_key(key, value, full_parent_key = nil, original_params = nil)
if @deep_regexps
full_key = full_parent_key ? "#{full_parent_key}.#{key}" : key.to_s
end
if @regexps.any? { |r| r.match?(key.to_s) }
value = @mask
elsif @deep_regexps&.any? { |r| r.match?(full_key) }
value = @mask
elsif value.is_a?(Hash)
value = call(value, full_key, original_params)
elsif value.is_a?(Array)
value = value.map { |v| value_for_key(key, v, full_parent_key, original_params) }
elsif @blocks
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
value
end