Class: DataMaker::CN::PhoneNumber::PhoneNumberGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/data_maker/cn/phone_number.rb

Instance Method Summary collapse

Constructor Details

#initialize(format) ⇒ PhoneNumberGenerator

Returns a new instance of PhoneNumberGenerator.



20
21
22
# File 'lib/data_maker/cn/phone_number.rb', line 20

def initialize(format)
  self.format = format
end

Instance Method Details

#generateObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/data_maker/cn/phone_number.rb', line 41

def generate
  if format == "mobile"
    phone_prefix = mobile_prefix
    phone_number_max_length = 11
    prefix_length = phone_prefix.length
    mask_length = phone_number_max_length - prefix_length
  end

  if format == "landline"
    phone_prefix = landline_prefix
    phone_number_max_length = eleven_digit_rule?(phone_prefix) ? 11 : 10
    prefix_length = phone_prefix.length
    mask_length = phone_number_max_length - prefix_length
  end

  masks = generate_masks(mask_length)

  number = [
    phone_prefix,
    masks
  ].join

  DataMaker.numerify(number)
end

#generate_masks(mask_length = 1) ⇒ Object

Raises:

  • (ArgumentError)


36
37
38
39
# File 'lib/data_maker/cn/phone_number.rb', line 36

def generate_masks(mask_length = 1)
  raise ArgumentError, "Pass a number greater than 1" if mask_length < 1
  "#" * mask_length
end

#landline_prefixObject

Raises:

  • (StandardError)


30
31
32
33
34
# File 'lib/data_maker/cn/phone_number.rb', line 30

def landline_prefix
  prefix = DataMaker::CN::PhoneNumber::LANDLINE_PHONE_PREFIXES.sample
  raise StandardError, "You're file is empty!" if prefix.length == 0
  prefix
end

#mobile_prefixObject

Raises:

  • (StandardError)


24
25
26
27
28
# File 'lib/data_maker/cn/phone_number.rb', line 24

def mobile_prefix
  prefix = DataMaker::CN::PhoneNumber::MOBILE_PHONE_PREFIXES.sample
  raise StandardError, "You're file is empty!" if prefix.length == 0
  prefix
end