Class: InvisibleCollector::Voice

Inherits:
Object
  • Object
show all
Defined in:
lib/invisible_collector/voice.rb

Constant Summary collapse

VOICE_API =
'https://voice.invisiblecollector.com'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Voice

Returns a new instance of Voice.



11
12
13
14
# 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

Instance Attribute Details

#api_tokenObject (readonly)

Returns the value of attribute api_token.



9
10
11
# File 'lib/invisible_collector/voice.rb', line 9

def api_token
  @api_token
end

Instance Method Details

#connectionObject



16
17
18
19
20
# 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 = {}) ⇒ Object



22
23
24
25
# File 'lib/invisible_collector/voice.rb', line 22

def email(options = {})
  resources[:alarm] ||= Resources::EmailResource.new({ connection: connection }.merge(options))
  resources[:alarm]
end

#resourcesObject



37
38
39
# File 'lib/invisible_collector/voice.rb', line 37

def resources
  @resources ||= {}
end

#sms(options = {}) ⇒ Object



27
28
29
30
# 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 = {}) ⇒ Object



32
33
34
35
# File 'lib/invisible_collector/voice.rb', line 32

def vms(options = {})
  resources[:alarm] ||= Resources::VmsResource.new({ connection: connection }.merge(options))
  resources[:alarm]
end