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
|
# frozen_string_literal: true
module FFaker
# Based on information from http://en.wikipedia.org/wiki/Telephone_numbers_in_Australia
module PhoneNumberAU
extend ModuleUtils
extend self
# Mobile prefixes
MOBILE_OPERATORS_PREFIX = %w[04 05].freeze
# Home or Work Operator prefixes
HOME_WORK_OPERATORS_PREFIX = %w[02 03 07 08].freeze
OPERATORS_PREFIX = MOBILE_OPERATORS_PREFIX + HOME_WORK_OPERATORS_PREFIX
# Return a prefix in MOBILE_OPERATORS_PREFIX
# @see FFaker::PhoneNumberAU::MOBILE_OPERATORS_PREFIX
#
def mobile_phone_prefix
fetch_sample(MOBILE_OPERATORS_PREFIX)
end
# Return a prefix in HOME_WORK_OPERATORS_PREFIX
# @see FFaker::PhoneNumberAU::HOME_WORK_OPERATORS_PREFIX
#
def home_work_phone_prefix
fetch_sample(HOME_WORK_OPERATORS_PREFIX)
end
def phone_prefix
fetch_sample(OPERATORS_PREFIX)
end
# Generates a general phone number
# (0x) xxxx xxxx
#
def home_work_phone_number
FFaker.numerify("(#{home_work_phone_prefix}) #### ####")
end
# Generates a mobile phone number
# 04xx xxx xxx
#
def mobile_phone_number
FFaker.numerify("#{mobile_phone_prefix}## ### ###")
end
# generates mobile or home/work number
def phone_number
case rand(0..1)
when 0 then home_work_phone_number
when 1 then mobile_phone_number
end
end
def country_code
'+61'
end
def international_mobile_phone_number
FFaker.numerify("#{country_code} #{mobile_phone_prefix[1]} #### ####")
end
def international_home_work_phone_number
FFaker.numerify("#{country_code} #{home_work_phone_prefix[1]} #### ####")
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
end
end
|