Class: InvisibleCollector::API

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

Constant Summary collapse

INVISIBLECOLLECTOR_API =
'https://api.invisiblecollector.com'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ API

Returns a new instance of API.



11
12
13
14
# File 'lib/invisible_collector/api.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/api.rb', line 9

def api_token
  @api_token
end

Instance Method Details

#alarm(options = {}) ⇒ Object



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

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

#company(options = {}) ⇒ Object



27
28
29
30
# File 'lib/invisible_collector/api.rb', line 27

def company(options = {})
  resources[:company] ||= Resources::CompanyResource.new({ connection: connection }.merge(options))
  resources[:company]
end

#connectionObject



16
17
18
19
20
# File 'lib/invisible_collector/api.rb', line 16

def connection
  @connection ||= Faraday.new connection_options do |req|
    req.adapter :net_http
  end
end

#customer(options = {}) ⇒ Object



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

def customer(options = {})
  resources[:customer] ||= Resources::CustomerResource.new({ connection: connection }.merge(options))
  resources[:customer]
end

#debt(options = {}) ⇒ Object



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

def debt(options = {})
  resources[:debt] ||= Resources::DebtResource.new({ connection: connection }.merge(options))
  resources[:debt]
end

#group(options = {}) ⇒ Object



47
48
49
50
# File 'lib/invisible_collector/api.rb', line 47

def group(options = {})
  resources[:group] ||= Resources::GroupResource.new({ connection: connection }.merge(options))
  resources[:group]
end

#payment(options = {}) ⇒ Object



42
43
44
45
# File 'lib/invisible_collector/api.rb', line 42

def payment(options = {})
  resources[:payment] ||= Resources::PaymentResource.new({ connection: connection }.merge(options))
  resources[:payment]
end

#resourcesObject



52
53
54
# File 'lib/invisible_collector/api.rb', line 52

def resources
  @resources ||= {}
end