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
|
# frozen_string_literal: true
module FFaker
# Based on information from http://en.wikipedia.org/wiki/Telephone_numbers_in_Singapore
module PhoneNumberSG
extend ModuleUtils
extend self
# Number Ranges
# 3xxx xxxx - Voice Over IP services
# 6xxx xxxx - Fixed Line services inclusive of Fixed Line Voice Over IP services
# like StarHub Digital Voice and SingTel mio Voice
# 8xxx xxxx - Mobile phone services
# 9xxx xxxx - Mobile phone services Includes Paging Services like SUNPAGE
# 800 xxx xxxx - Toll-Free International services
# 1800 xxx xxxx - Toll-Free line services
# 1900 xxx xxxx - Premium Service
# Generates a voip phone number
# 3xxx xxxx
#
def voip_number
FFaker.numerify('3### ####')
end
# Generates a fixed line phone number
# 6xxx xxxx
#
def fixed_line_number
FFaker.numerify('6### ####')
end
# Generates a fixed mobile phone number
# 8xxx xxxx
#
def mobile_number
FFaker.numerify('8### ####')
end
# Generates a fixed mobile phone number or pager service number
# 9xxx xxxx
#
def mobile_or_pager_number
FFaker.numerify('9### ####')
end
# Generates an international toll-free number
# 800 xxx xxxx
#
def international_toll_free_number
FFaker.numerify('800 ### ####')
end
# Generates an toll-free number
# 1800 xxx xxxx
#
def toll_free_number
FFaker.numerify('1800 ### ####')
end
# Generates a premium service number
# (1900) xxx xxxx
#
def premium_service_number
FFaker.numerify('1900 ### ####')
end
# generates mobile or home/work number
def phone_number
case rand(0..2)
when 0 then fixed_line_number
when 1 then mobile_number
when 2 then mobile_or_pager_number
end
end
def country_code
'+65'
end
end
end
|