Class: TropoREST::API

Inherits:
Object
  • Object
show all
Includes:
HTTParty, Singleton
Defined in:
lib/tropo-rest.rb

Constant Summary collapse

SESSION_URI =
'/1.0/sessions'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAPI

Returns a new instance of API.



13
14
15
16
# File 'lib/tropo-rest.rb', line 13

def initialize
  @logger = Logger.new STDOUT
  @logger.level = Logger::WARN
end

Instance Attribute Details

#logger=(value) ⇒ Object (writeonly)

Sets the attribute logger

Parameters:

  • value

    the value to set the attribute logger to.



11
12
13
# File 'lib/tropo-rest.rb', line 11

def logger=(value)
  @logger = value
end

Instance Method Details

#fire_event(event_name, session_id) ⇒ Object



35
36
37
38
39
40
# File 'lib/tropo-rest.rb', line 35

def fire_event(event_name, session_id)
  @logger.debug "Firing event #{event_name} into Tropo session #{session_id}"
  resp = self.class.post "#{SESSION_URI}/#{session_id}/signals", body: { value: event_name }
  @logger.debug "Tropo event trigger responded with: #{resp.inspect}"
  resp
end

#originate(options = {}) ⇒ Object



28
29
30
31
32
33
# File 'lib/tropo-rest.rb', line 28

def originate(options = {})
  @logger.debug "Originating Tropo call with parameters #{options}"
  resp = self.class.post SESSION_URI, body: options
  @logger.debug "Tropo origination responded with: #{resp.inspect}"
  resp
end

#token=(token) ⇒ Object



18
19
20
# File 'lib/tropo-rest.rb', line 18

def token=(token)
  self.class.default_params token: token
end