module TelFormatter
Constants
- AREA_CODES
- AREA_CODE_REGEXP
- CELLPHONE_CODES
- CELLPHONE_CODE_10_REGEXP
- CELLPHONE_CODE_REGEXP
- SPECIAL_CODES_10
- SPECIAL_CODES_11
- SPECIAL_CODE_10_REGEXP
- SPECIAL_CODE_11_REGEXP
- VERSION
Public Class Methods
format(tel)
click to toggle source
# File lib/tel_formatter.rb, line 15 def self.format(tel) self.split(tel).join("-") end
preprocess(tel)
click to toggle source
# File lib/tel_formatter.rb, line 45 def self.preprocess(tel) NKF.nkf("-m0Z0 -w", tel).split("").select { |c| /\d/ =~ c }.join end
split(tel)
click to toggle source
# File lib/tel_formatter.rb, line 19 def self.split(tel) tel = self.preprocess(tel) case tel.length when 10 if AREA_CODE_REGEXP =~ tel return [$1, $2, $3] elsif SPECIAL_CODE_10_REGEXP =~ tel return [$1, $2] elsif CELLPHONE_CODE_10_REGEXP =~ tel return [$1, $2, $3] else raise ArgumentError, "Invalid telephone number" end when 11 if CELLPHONE_CODE_REGEXP =~ tel return [$1, $2, $3] elsif SPECIAL_CODE_11_REGEXP =~ tel return [$1, $2] else raise ArgumentError, "Invalid telephone number" end else raise ArgumentError, "Invalid telephone number" end end