1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
# frozen_string_literal: true
module FFaker
# Format for swedish numbers, from here
# from http://sv.wikipedia.org/wiki/Telefonnummer
#
# All area codes are from this list
# http://sv.wikipedia.org/wiki/Lista_%C3%B6ver_svenska_riktnummer
#
# - Length 9
# 08-xxx xxx xx, 0xx-xxx xx xx, 0xxx-xx xx xx
# - Length 8
# 08-xxx xx xx, 0xx-xx xx xx, 0xxx-xxx xx
# - Length 7
# 08-xx xx xx, 0xx-xxx xx
#
module PhoneNumberSE
extend ModuleUtils
extend self
PHONE_FORMAT_PREFIX_2 = ['%s-### ### ##',
'%s-### ## ##',
'%s-## ## ##'].freeze
PHONE_FORMAT_PREFIX_3 = ['%s-### ## ##',
'%s-## ## ##',
'%s-## ###'].freeze
PHONE_FORMAT_PREFIX_4 = ['%s-## ## ##',
'%s-### ##'].freeze
MOBILE_PHONE_FORMAT = ['%s#-## ## ##', '%s#-######'].freeze
COUNTRY_PREFIX = ['+46', '0046'].freeze
MOBILE_PHONE_PREFIX = %w[70 72 73 76 74].freeze
def phone_number
case rand(0..1)
when 0 then home_work_phone_number
when 1 then mobile_phone_number
end
end
def home_work_phone_number
FFaker.numerify("0#{phone_number_format}")
end
def mobile_phone_number
FFaker.numerify("0#{mobile_phone_number_format}")
end
def international_phone_number
case rand(0..1)
when 0 then international_mobile_phone_number
when 1 then international_home_work_phone_number
end
end
def country_prefix
fetch_sample(COUNTRY_PREFIX)
end
def international_mobile_phone_number
FFaker.numerify("#{country_prefix} (0)#{mobile_phone_number_format}")
end
def international_home_work_phone_number
FFaker.numerify("#{country_prefix} (0)#{phone_number_format}")
end
def area_prefix
fetch_sample(PHONE_PREFIX)
end
def phone_number_format
prefix = area_prefix
case prefix.length
when 1 then fetch_sample(PHONE_FORMAT_PREFIX_2)
when 2 then fetch_sample(PHONE_FORMAT_PREFIX_3)
when 3 then fetch_sample(PHONE_FORMAT_PREFIX_4)
end % prefix
end
def mobile_prefix
fetch_sample(MOBILE_PHONE_PREFIX)
end
def mobile_phone_number_format
fetch_sample(MOBILE_PHONE_FORMAT) % mobile_prefix
end
end
end
|