Module: Base::Project::Lib::StringSanitizer
- Extended by:
- StringSanitizer
- Included in:
- StringSanitizer
- Defined in:
- lib/base/project/lib/string_sanitizer.rb
Instance Method Summary collapse
- #mask_cep(str) ⇒ Object
- #mask_phone(str) ⇒ Object
- #parse_phone(number, base_number) ⇒ Object
- #remove_punctuation(str) ⇒ Object
Instance Method Details
#mask_cep(str) ⇒ Object
50 51 52 53 |
# File 'lib/base/project/lib/string_sanitizer.rb', line 50 def mask_cep(str) return '' if str.blank? || str.size < 8 str.to_s.first(8).gsub(/\A(\d{5})(\d{3})\Z/, '\\1-\\2') end |
#mask_phone(str) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/base/project/lib/string_sanitizer.rb', line 9 def mask_phone(str) return '' if str.blank? numbers = str.to_s.gsub(/[^0-9]+/, '') case numbers.size when 13 str.gsub(/\A(\d{2})(\d{2})(\d{3})(\d{3})(\d{3})\Z/, '+\\1 (\\2) \\3-\\4-\\5') when 12 str.gsub(/\A(\d{2})(\d{2})(\d{4,5})(\d{4})\Z/, '+\\1 (\\2) \\3-\\4') when 11 str.gsub(/[^\d]/, '').gsub(/\A(\d{2})(\d{3})(\d{3})(\d{3})\Z/, '(\\1) \\2-\\3-\\4') when 10 str.gsub(/\A(\d{2})(\d{4})(\d{4})\Z/, '(\\1) \\2-\\3') when 9 str.gsub(/\A(\d{3})(\d{3})(\d{3})\Z/, '\\1-\\2-\\3') when 8 str.gsub(/\A(\d{4})(\d{4})\Z/, '\\1-\\2') else str end end |
#parse_phone(number, base_number) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/base/project/lib/string_sanitizer.rb', line 31 def parse_phone(number, base_number) return '' if number.blank? number = number.to_s.gsub(/[^0-9]+/, '') case number.size when 8, 9 number = number.insert(0, base_number[0, 4]) when 10, 11 number = number.insert(0, base_number[0, 2]) when 12, 13 return number else return '' end end |
#remove_punctuation(str) ⇒ Object
4 5 6 7 |
# File 'lib/base/project/lib/string_sanitizer.rb', line 4 def remove_punctuation(str) return '' if str.blank? str.to_s.gsub(/[^a-zA-Z0-9]+/, '') end |