Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/phony_rails/string_extensions.rb

Instance Method Summary collapse

Instance Method Details

#phony_formatted(options = {}) ⇒ Object

Add a method to the String class so we can easily format phone numbers. This enables:

"31612341234".phony_formatted # => '06 12341234'
"31612341234".phony_formatted(:spaces => '-') # => '06-12341234'

To first normalize a String use:

"010-12341234".phony_formatted(:normalize => :NL)

To return nil when a number is not correct (checked using Phony.plausible?) use

"010-12341234".phony_formatted(strict: true)


11
12
13
14
15
16
17
# File 'lib/phony_rails/string_extensions.rb', line 11

def phony_formatted(options = {})
  normalize_country_code = options.delete(:normalize)
  s = (normalize_country_code ? PhonyRails.normalize_number(self, :default_country_code => normalize_country_code.to_s) : self.gsub(/\D/, ''))
  return if s.blank?
  return if options[:strict] && !Phony.plausible?(s)
  Phony.formatted(s, options.reverse_merge(:format => :national))
end

#phony_formatted!(options = {}) ⇒ Object

The bang method



20
21
22
# File 'lib/phony_rails/string_extensions.rb', line 20

def phony_formatted!(options = {})
  replace(self.phony_formatted(options))
end