Module: Rack::ActionLogger::ParameterFiltering
- Defined in:
- lib/rack/action_logger/parameter_filtering.rb
Constant Summary collapse
- FILTERED =
:nodoc:
'[FILTERED]'.freeze
Class Method Summary collapse
Class Method Details
.apply_filter(original_params, compiled_filters) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/rack/action_logger/parameter_filtering.rb', line 7 def apply_filter(original_params, compiled_filters) filtered_params = {} original_params.each do |key, value| if compiled_filters.any? { |r| key =~ r } value = FILTERED elsif value.is_a?(Hash) value = apply_filter(value, compiled_filters) elsif value.is_a?(Array) value = value.map { |v| v.is_a?(Hash) ? apply_filter(v, compiled_filters) : v } end filtered_params[key] = value end filtered_params end |
.compile(filters) ⇒ Object
25 26 27 28 |
# File 'lib/rack/action_logger/parameter_filtering.rb', line 25 def compile(filters) filter_strings = filters.map(&:to_s) filter_strings.map { |item| Regexp.compile(Regexp.escape(item)) } end |