class Hoss::Transport::Filters::HashSanitizer

Constants

FILTERED
KEY_FILTERS
VALUE_FILTERS

Attributes

key_filters[RW]

Public Class Methods

new() click to toggle source
# File lib/hoss/transport/filters/hash_sanitizer.rb, line 44
def initialize
  @key_filters = KEY_FILTERS
end

Public Instance Methods

filter_key?(key) click to toggle source
# File lib/hoss/transport/filters/hash_sanitizer.rb, line 67
def filter_key?(key)
  @key_filters.any? { |regex| regex.match(key) }
end
filter_value?(value) click to toggle source
# File lib/hoss/transport/filters/hash_sanitizer.rb, line 71
def filter_value?(value)
  VALUE_FILTERS.any? { |regex| regex.match(value) }
end
strip_from!(obj, key_filters = KEY_FILTERS) click to toggle source
# File lib/hoss/transport/filters/hash_sanitizer.rb, line 48
def strip_from!(obj, key_filters = KEY_FILTERS)
  return unless obj&.is_a?(Hash)

  obj.each do |k, v|
    if filter_key?(k)
      next obj[k] = FILTERED
    end

    case v
    when Hash
      strip_from!(v)
    when String
      if filter_value?(v)
        obj[k] = FILTERED
      end
    end
  end
end