Class: Textris::PhoneFormatter
- Inherits:
- 
      Object
      
        - Object
- Textris::PhoneFormatter
 
- Defined in:
- lib/textris/phone_formatter.rb
Class Method Summary collapse
- .format(phone = '') ⇒ Object
- .is_a_phone_number?(phone) ⇒ Boolean
- 
  
    
      .is_a_short_code?(phone)  ⇒ Boolean 
    
    
  
  
  
  
  
  
  
  
  
    Short codes have more dependencies and limitations; but this is a good general start. 
- .is_alphameric?(phone) ⇒ Boolean
Class Method Details
.format(phone = '') ⇒ Object
| 4 5 6 7 | # File 'lib/textris/phone_formatter.rb', line 4 def format(phone = '') return phone if is_a_short_code?(phone) || is_alphameric?(phone) || phone.nil? "#{'+' unless phone.start_with?('+')}#{phone}" end | 
.is_a_phone_number?(phone) ⇒ Boolean
| 15 16 17 | # File 'lib/textris/phone_formatter.rb', line 15 def is_a_phone_number?(phone) Phony.plausible?(phone) end | 
.is_a_short_code?(phone) ⇒ Boolean
Short codes have more dependencies and limitations; but this is a good general start
| 11 12 13 | # File 'lib/textris/phone_formatter.rb', line 11 def is_a_short_code?(phone) !!phone.to_s.match(/\A\d{4,6}\z/) end | 
.is_alphameric?(phone) ⇒ Boolean
| 19 20 21 22 23 24 25 | # File 'lib/textris/phone_formatter.rb', line 19 def is_alphameric?(phone) # \A # Start of the string # (?=.*[a-zA-Z]) # Lookahead to ensure there is at least one letter in the entire string # [a-zA-z\d]{1,11} # Between 1 and 11 characters in the string # \z # End of the string !!phone.to_s.match(/\A(?=.*[a-zA-Z])[a-zA-z\d]{1,11}\z/) end |