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