Module: NameMasker
- Defined in:
- lib/name_masker.rb,
lib/name_masker/version.rb
Defined Under Namespace
Classes: Error
Constant Summary collapse
- VERSION =
"0.1.1"
Class Method Summary collapse
- .mask(first_name, last_name) ⇒ Object
- .mask_email(email) ⇒ Object
- .mask_first_name(name) ⇒ Object
- .mask_last_name(name) ⇒ Object
- .mask_phone_number(country_code, gsm) ⇒ Object
Class Method Details
.mask(first_name, last_name) ⇒ Object
40 41 42 |
# File 'lib/name_masker.rb', line 40 def self.mask(first_name, last_name) [mask_first_name(first_name), ' ', mask_last_name(last_name)].join end |
.mask_email(email) ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/name_masker.rb', line 52 def self.mask_email(email) return '***' unless email.include?('@') index_of_at = email.index('@') ['*', email[1], '***', email[index_of_at..index_of_at+1], '***'].join end |
.mask_first_name(name) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/name_masker.rb', line 6 def self.mask_first_name(name) return '*' if name.length < 2 masked_part = case name.length when 2..3 '*' when 4 '**' else '***' end base_string = name.length == 2 ? name[0] : name[0..1] [base_string, masked_part].join end |
.mask_last_name(name) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/name_masker.rb', line 23 def self.mask_last_name(name) return '*' if name.length < 2 masked_part = case name.length when 2 '*' when 3..4 '**' else '***' end visible_part = name.length <= 3 ? name[-1] : name[-2..-1] [masked_part, visible_part].join end |
.mask_phone_number(country_code, gsm) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/name_masker.rb', line 44 def self.mask_phone_number(country_code, gsm) ['+', country_code, gsm[0], (Array.new(gsm.length - 3) { '*' }).join, gsm[-2..-1] ].join end |