Class: Railscope::Filter

Inherits:
Object
  • Object
show all
Defined in:
lib/railscope/filter.rb

Constant Summary collapse

MASK =
"[FILTERED]"
DEFAULT_SENSITIVE_KEYS =
%w[
  password
  password_confirmation
  secret
  token
  api_key
  apikey
  access_token
  refresh_token
  authorization
  auth
  credential
  private_key
  secret_key
  credit_card
  card_number
  cvv
  ssn
].freeze

Class Method Summary collapse

Class Method Details

.add_sensitive_keys(*keys) ⇒ Object



38
39
40
41
42
# File 'lib/railscope/filter.rb', line 38

def add_sensitive_keys(*keys)
  @sensitive_keys = nil
  @custom_keys ||= []
  @custom_keys.concat(keys.map(&:to_s).map(&:downcase))
end

.filter(payload) ⇒ Object



28
29
30
31
32
# File 'lib/railscope/filter.rb', line 28

def filter(payload)
  return payload unless payload.is_a?(Hash)

  filter_hash(payload.deep_dup)
end

.reset_sensitive_keys! ⇒ Object



44
45
46
47
# File 'lib/railscope/filter.rb', line 44

def reset_sensitive_keys!
  @sensitive_keys = nil
  @custom_keys = []
end

.sensitive_keys ⇒ Object



34
35
36
# File 'lib/railscope/filter.rb', line 34

def sensitive_keys
  @sensitive_keys ||= build_sensitive_keys
end