Module: SensitiveDataFilter::Mask
- Defined in:
- lib/sensitive_data_filter/mask.rb
Class Method Summary collapse
- .mask(value) ⇒ Object
- .mask_array(array) ⇒ Object
- .mask_hash(hash) ⇒ Object
- .mask_key_value(key, value) ⇒ Object
Class Method Details
.mask(value) ⇒ Object
4 5 6 7 8 |
# File 'lib/sensitive_data_filter/mask.rb', line 4 module_function def mask(value) return mask_array(value) if value.is_a? Array return mask_hash(value) if value.is_a? Hash SensitiveDataFilter.enabled_types.inject(value) { |acc, elem| elem.mask acc } end |
.mask_array(array) ⇒ Object
10 11 12 |
# File 'lib/sensitive_data_filter/mask.rb', line 10 module_function def mask_array(array) array.map { |element| mask(element) } end |
.mask_hash(hash) ⇒ Object
14 15 16 |
# File 'lib/sensitive_data_filter/mask.rb', line 14 module_function def mask_hash(hash) hash.map { |key, value| mask_key_value(key, value) }.to_h end |
.mask_key_value(key, value) ⇒ Object
18 19 20 21 22 |
# File 'lib/sensitive_data_filter/mask.rb', line 18 module_function def mask_key_value(key, value) masked_key = mask(key) return [masked_key, value] if SensitiveDataFilter.whitelisted_key? key [masked_key, mask(value)] end |