module Rack::ActionLogger::ParameterFiltering
Public Class Methods
apply_filter(original_params)
click to toggle source
# File lib/rack/action_logger/parameter_filtering.rb, line 7 def apply_filter(original_params) 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) elsif value.is_a?(Array) value = value.map { |v| v.is_a?(Hash) ? apply_filter(v) : v } end filtered_params[key] = value end filtered_params end
Private Class Methods
compile(filters)
click to toggle source
# File lib/rack/action_logger/parameter_filtering.rb, line 31 def compile(filters) filter_strings = filters.map(&:to_s) filter_strings.map { |item| Regexp.compile(Regexp.escape(item)) } end
compiled_filters()
click to toggle source
# File lib/rack/action_logger/parameter_filtering.rb, line 27 def compiled_filters @compiled_filters ||= compile(Rack::ActionLogger.configuration.filters) end