Class: PiiScrubber::Detectors::Email
- Defined in:
- lib/pii_scrubber/detectors/email.rb
Constant Summary collapse
- EMAIL_REGEX =
/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#initialize ⇒ Email
constructor
A new instance of Email.
- #patterns ⇒ Object
- #replace(match, strategy: :placeholder, mask_char: "*", hmac_salt: nil) ⇒ Object
Methods inherited from Base
Constructor Details
#initialize ⇒ Email
Returns a new instance of Email.
10 11 12 |
# File 'lib/pii_scrubber/detectors/email.rb', line 10 def initialize super(name: :email) end |
Instance Method Details
#patterns ⇒ Object
14 15 16 |
# File 'lib/pii_scrubber/detectors/email.rb', line 14 def patterns [EMAIL_REGEX] end |
#replace(match, strategy: :placeholder, mask_char: "*", hmac_salt: nil) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/pii_scrubber/detectors/email.rb', line 18 def replace(match, strategy: :placeholder, mask_char: "*", hmac_salt: nil) return super unless strategy == :mask user, domain = match.split("@", 2) return super unless user && domain masked_user = mask_value(user, mask_char: mask_char) domain_parts = domain.split(".") masked_domain_name = mask_value(domain_parts[0], mask_char: mask_char) tld = domain_parts[1..].join(".") "#{masked_user}@#{masked_domain_name}.#{tld}" end |