class InvisibleCollector::Voice

Constants

VOICE_API

Attributes

api_token[R]

Public Class Methods

new(options = {}) click to toggle source
# File lib/invisible_collector/voice.rb, line 11
def initialize(options = {})
  @api_token = options.with_indifferent_access[:api_token]
  @host = options.with_indifferent_access[:host]
end

Public Instance Methods

connection() click to toggle source
# File lib/invisible_collector/voice.rb, line 16
def connection
  @connection ||= Faraday.new connection_options do |req|
    req.adapter :net_http
  end
end
email(options = {}) click to toggle source
# File lib/invisible_collector/voice.rb, line 22
def email(options = {})
  resources[:alarm] ||= Resources::EmailResource.new({ connection: connection }.merge(options))
  resources[:alarm]
end
resources() click to toggle source
# File lib/invisible_collector/voice.rb, line 37
def resources
  @resources ||= {}
end
sms(options = {}) click to toggle source
# File lib/invisible_collector/voice.rb, line 27
def sms(options = {})
  resources[:alarm] ||= Resources::SmsResource.new({ connection: connection }.merge(options))
  resources[:alarm]
end
vms(options = {}) click to toggle source
# File lib/invisible_collector/voice.rb, line 32
def vms(options = {})
  resources[:alarm] ||= Resources::VmsResource.new({ connection: connection }.merge(options))
  resources[:alarm]
end

Private Instance Methods

connection_options() click to toggle source
# File lib/invisible_collector/voice.rb, line 43
def connection_options
  { url: @host || VOICE_API,
    headers: { content_type: 'application/json',
               'User-Agent' => "InvisibleCollector Ruby v#{InvisibleCollector::VERSION}",
               'Authorization' => "Bearer #{api_token}" } }
end