lib/ffaker/phone_number_sg.rb
# 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