module Quovo::Refinements::Sensitive

Constants

FILTER_KEYS

Public Instance Methods

sensitive?() click to toggle source
# File lib/quovo/refinements/sensitive.rb, line 22
def sensitive?
  case self
  when Hash
    each do |key, value|
      return true if FILTER_KEYS.include?(key.to_s) || value.sensitive?
    end
  when Array
    each do |value|
      return true if value.sensitive?
    end
  end
  false
end
strip_sensitive() click to toggle source
# File lib/quovo/refinements/sensitive.rb, line 6
def strip_sensitive
  case self
  when Hash
    {}.tap do |result|
      each do |key, value|
        result[key] = FILTER_KEYS.include?(key.to_s) ? '[FILTERED]' : value.strip_sensitive
      end
    end
  when Array
    block = -> (value) { value.strip_sensitive }
    map(&block)
  else
    self
  end
end