class DataMaker::CN::PhoneNumber::PhoneNumberGenerator
Attributes
format[RW]
Public Class Methods
generate(format)
click to toggle source
# File lib/data_maker/cn/phone_number.rb, line 27 def self.generate(format) inst = new(format) inst.generate end
new(format)
click to toggle source
# File lib/data_maker/cn/phone_number.rb, line 23 def initialize(format) self.format = format end
Public Instance Methods
generate()
click to toggle source
# File lib/data_maker/cn/phone_number.rb, line 37 def generate if format == "mobile" phone_prefix = mobile_prefix max_length = 11 prefix_length = phone_prefix.length mask_length = max_length - prefix_length end if format == "fixed_line" phone_prefix, length = *landline_prefix.split(",") mask_length = length.to_i end masks = generate_masks(mask_length) number = [ phone_prefix, masks ].join DataMaker.numerify(number) end
generate_masks(mask_length = 1)
click to toggle source
# File lib/data_maker/cn/phone_number.rb, line 32 def generate_masks(mask_length = 1) raise ArgumentError, "Pass a number greater than 1" if mask_length < 1 "#" * mask_length end
Private Instance Methods
landline_prefix()
click to toggle source
# File lib/data_maker/cn/phone_number.rb, line 70 def landline_prefix DataMaker::CN::PhoneNumber::FIXED_LINE_PHONE_PREFIXES.sample end
mobile_prefix()
click to toggle source
# File lib/data_maker/cn/phone_number.rb, line 66 def mobile_prefix DataMaker::CN::PhoneNumber::MOBILE_PHONE_PREFIXES.sample end