Class: TwilioMock::Mocker

Inherits:
Object
  • Object
show all
Defined in:
lib/twilio_mock/mocker.rb

Direct Known Subclasses

LookupMocker

Constant Summary collapse

API_VERSION =
'2010-04-01'.freeze
HOST =
'api.twilio.com'.freeze

Instance Method Summary collapse

Constructor Details

#initialize(username: Twilio.account_sid, token: Twilio.auth_token) ⇒ Mocker

Returns a new instance of Mocker.



12
13
14
15
# File 'lib/twilio_mock/mocker.rb', line 12

def initialize(username: Twilio., token: Twilio.auth_token)
  @username = username
  @token = token
end

Instance Method Details

#available_number(number = nil, params = nil) ⇒ Object



22
23
24
25
26
27
# File 'lib/twilio_mock/mocker.rb', line 22

def available_number(number = nil, params = nil)
  query_string = params && params.any? ? Twilify.process(params).to_h.to_query : ''
  stub_request(:get, "#{base_twilio_url}/AvailablePhoneNumbers/US/Local.json?#{query_string}")
    .with(basic_auth: basic_auth)
    .to_return(status: 200, body: available_number_response(number), headers: {})
end

#buy_number(attrs) ⇒ Object



29
30
31
# File 'lib/twilio_mock/mocker.rb', line 29

def buy_number(attrs)
  prepare_stub(attrs, 'IncomingPhoneNumbers.json')
end

#cleanObject



37
38
39
40
# File 'lib/twilio_mock/mocker.rb', line 37

def clean
  number_generator.clean
  messages_queue.clean
end

#create_message(attrs) ⇒ Object



17
18
19
20
# File 'lib/twilio_mock/mocker.rb', line 17

def create_message(attrs)
  messages_queue.add OpenStruct.new(attrs)
  prepare_stub(attrs, 'Messages.json')
end

#messagesObject



33
34
35
# File 'lib/twilio_mock/mocker.rb', line 33

def messages
  messages_queue.messages
end