Class: NinjaRMM::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/ninjarmm/client.rb

Constant Summary collapse

BASE_URL =
'https://api.ninjarmm.com'.freeze

Instance Method Summary collapse

Constructor Details

#initialize(access_id: '', secret_key: '', adapter: Faraday.default_adapter) ⇒ Client

Returns a new instance of Client.



11
12
13
14
15
16
17
18
19
# File 'lib/ninjarmm/client.rb', line 11

def initialize(access_id: '', secret_key: '',
               adapter: Faraday.default_adapter)
  @client = Faraday.new(BASE_URL) do |conn|
    conn.request :json
    conn.response :json, content_type: /\bjson$/
    conn.use SignRequestMiddleware, access_id, secret_key
    conn.adapter adapter
  end
end

Instance Method Details

#alertsObject



41
42
43
# File 'lib/ninjarmm/client.rb', line 41

def alerts
  @client.get('v1/alerts').body
end

#alerts_since(id:) ⇒ Object



45
46
47
# File 'lib/ninjarmm/client.rb', line 45

def alerts_since(id:)
  @client.get("v1/alerts/since/#{id}").body
end

#customer(id:) ⇒ Object



29
30
31
# File 'lib/ninjarmm/client.rb', line 29

def customer(id:)
  @client.get("v1/customers/#{id}").body
end

#customersObject



25
26
27
# File 'lib/ninjarmm/client.rb', line 25

def customers
  @client.get('v1/customers').body
end

#device(id:) ⇒ Object



37
38
39
# File 'lib/ninjarmm/client.rb', line 37

def device(id:)
  @client.get("v1/devices/#{id}").body
end

#devicesObject



33
34
35
# File 'lib/ninjarmm/client.rb', line 33

def devices
  @client.get('v1/devices').body
end

#pingObject



21
22
23
# File 'lib/ninjarmm/client.rb', line 21

def ping
  @client.get('v1/ping').body
end

#reset_alert(id:) ⇒ Object



49
50
51
# File 'lib/ninjarmm/client.rb', line 49

def reset_alert(id:)
  @client.delete("v1/alerts/#{id}").body
end