Class: TwilioMock::NumberGenerator

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/twilio_mock/number_generator.rb

Constant Summary collapse

BASE_TEST_NUMBER =
'+1500555'.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeNumberGenerator

Returns a new instance of NumberGenerator.



11
12
13
# File 'lib/twilio_mock/number_generator.rb', line 11

def initialize
  @available_numbers = []
end

Instance Attribute Details

#available_numbersObject (readonly)

Returns the value of attribute available_numbers.



9
10
11
# File 'lib/twilio_mock/number_generator.rb', line 9

def available_numbers
  @available_numbers
end

Instance Method Details

#cleanObject



25
26
27
# File 'lib/twilio_mock/number_generator.rb', line 25

def clean
  @available_numbers = []
end

#generateObject



15
16
17
18
19
20
21
22
23
# File 'lib/twilio_mock/number_generator.rb', line 15

def generate
  number = loop do
    number = "#{BASE_TEST_NUMBER}#{rand(9999).to_s.rjust(4, '0')}"
    unless @available_numbers.include?(number)
      @available_numbers << number
      break number
    end
  end
end