Class: Opbeat::Processor::SanitizeData
Constant Summary
collapse
- MASK =
'********'
- FIELDS_RE =
/(authorization|password|passwd|secret)/i
- VALUES_RE =
/^\d{16}$/
Instance Method Summary
collapse
Methods inherited from Processor
#initialize
Instance Method Details
#apply(value, key = nil, &block) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/opbeat/processors/sanitizedata.rb', line 11
def apply(value, key=nil, &block)
if value.is_a?(Hash)
value.each.inject({}) do |memo, (k, v)|
memo[k] = apply(v, k, &block)
memo
end
elsif value.is_a?(Array)
value.map do |value|
apply(value, key, &block)
end
else
block.call(key, value)
end
end
|
#process(data) ⇒ Object
36
37
38
39
40
|
# File 'lib/opbeat/processors/sanitizedata.rb', line 36
def process(data)
apply(data) do |key, value|
sanitize(key, value)
end
end
|
#sanitize(key, value) ⇒ Object
26
27
28
29
30
31
32
33
34
|
# File 'lib/opbeat/processors/sanitizedata.rb', line 26
def sanitize(key, value)
if !value.is_a?(String) || value.empty?
value
elsif VALUES_RE.match(value) or FIELDS_RE.match(key)
MASK
else
value
end
end
|