Class: PiiScrubber::Scrubber
- Inherits:
-
Object
- Object
- PiiScrubber::Scrubber
- Defined in:
- lib/pii_scrubber/scrubber.rb
Constant Summary collapse
- BUILT_IN_DETECTORS =
{ email: Detectors::Email, phone: Detectors::Phone, ssn: Detectors::Ssn, credit_card: Detectors::CreditCard, api_key: Detectors::ApiKey, ip_address: Detectors::IpAddress, iban: Detectors::Iban, uk_nino: Detectors::UkNino, canadian_sin: Detectors::CanadianSin, indian_pan: Detectors::IndianPan, indian_aadhaar: Detectors::IndianAadhaar, database_url: Detectors::DatabaseUrl }.freeze
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
-
#initialize(config = PiiScrubber.configuration) ⇒ Scrubber
constructor
A new instance of Scrubber.
- #scrub(data, **override_options) ⇒ Object
Constructor Details
#initialize(config = PiiScrubber.configuration) ⇒ Scrubber
Returns a new instance of Scrubber.
24 25 26 27 |
# File 'lib/pii_scrubber/scrubber.rb', line 24 def initialize(config = PiiScrubber.configuration) @config = config @active_detectors = build_detectors end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
22 23 24 |
# File 'lib/pii_scrubber/scrubber.rb', line 22 def config @config end |
Instance Method Details
#scrub(data, **override_options) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/pii_scrubber/scrubber.rb', line 29 def scrub(data, **) strategy = [:strategy] || config.strategy mask_char = [:mask_char] || config.mask_char hmac_salt = [:hmac_salt] || config.hmac_salt ignored_keys = ([:ignored_keys] || config.ignored_keys).map(&:to_s) case data when String scrub_string(data, strategy: strategy, mask_char: mask_char, hmac_salt: hmac_salt) when Hash scrub_hash(data, strategy: strategy, mask_char: mask_char, hmac_salt: hmac_salt, ignored_keys: ignored_keys) when Array data.map { |item| scrub(item, **) } else data end end |