1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/phone_number_formatter.rb', line 1
def phone_number_formatter(phone_number)
raise ArgumentError, 'Phone Number is not a US number' unless us_number?(phone_number)
digits = phone_number.gsub(/\D/, '')
core = digits.chars.last(10).join('')
e164 = "+1#{core}"
dashed = "#{core[0..2]}-#{core[3..5]}-#{core[6..9]}"
parens = "(#{core[0..2]}) #{core[3..5]}-#{core[6..9]}"
parens_all_dashed = "(#{core[0..2]})-#{core[3..5]}-#{core[6..9]}"
[
e164,
digits,
core,
dashed,
parens,
parens_all_dashed
]
end
|