class ActiveSupport::ParameterFilter::CompiledFilter
def value_for_key(key, value, parents = [], original_params = nil)
Experimental RBS support (using type sampling data from the type_fusion
project).
type ActiveSupport__ParameterFilter__CompiledFilter_value_for_key_value = Array[String] | String | Integer | Symbol | nil | Hash | bool type ActiveSupport__ParameterFilter__CompiledFilter_value_for_key_return_value = String | Integer | Symbol | nil | Hash | bool def value_for_key: (String key, ActiveSupport__ParameterFilter__CompiledFilter_value_for_key_value value, ?Array[] parents, ?Hash? original_params) -> ActiveSupport__ParameterFilter__CompiledFilter_value_for_key_return_value
This signature was generated using 149 samples from 3 applications.
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