houdini/lib/format/format/phone.rb
2020-06-15 10:26:57 -05:00

23 lines
671 B
Ruby

# frozen_string_literal: true
# License: AGPL-3.0-or-later WITH WTO-AP-3.0-or-later
# Full license explanation at https://github.com/houdiniproject/houdini/blob/master/LICENSE
module Format
module Phone
def self.readable(number)
# Convert to:
# (505) 263-6320
# or:
# 263-6320
return '' if number.blank?
stripped = number.gsub(/[-\(\)\.\s]/, '') # remove extra chars and space
if stripped.length == 10
return "(#{stripped[0..2]}) #{stripped[3..5]}-#{stripped[6..9]}"
elsif stripped.length == 7
return "#{stripped[0..2]}-#{stripped[3..6]}"
else
return number
end
end
end; end