Class: M2X::Client::Integration

Inherits:
Resource
  • Object
show all
Defined in:
lib/m2x/integration.rb

Overview

Wrapper for M2X Integrations API

Constant Summary collapse

PATH =
"/integrations"

Instance Attribute Summary

Attributes inherited from Resource

#attributes

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Resource

#delete!, #initialize, #inspect, #refresh, #update!, #view

Constructor Details

This class inherits a constructor from M2X::Client::Resource

Class Method Details

.create!(client, params) ⇒ Device

Method for Create Integration endpoint.

Parameters:

  • client (Client)

    Client API

  • params

    Query parameters passed as keyword arguments. View M2X API Docs for listing of available parameters.

Returns:

  • (Device)

    newly created device.



25
26
27
28
29
# File 'lib/m2x/integration.rb', line 25

def create!(client, params)
  res = client.post(PATH, nil, params, "Content-Type" => "application/json")

  new(client, res.json) if res.success?
end

.list(client, params = {}) ⇒ Array

Method for List Integrations endpoint.

Parameters:

  • client (Client)

    Client API

  • params (defaults to: {})

    Query parameters passed as keyword arguments. View M2X API Docs for listing of available parameters.

Returns:



12
13
14
15
16
# File 'lib/m2x/integration.rb', line 12

def list(client, params={})
  res = client.get(PATH, params)

  res.json["integrations"].map{ |atts| new(client, atts) } if res.success?
end

Instance Method Details

#pathObject



32
33
34
# File 'lib/m2x/integration.rb', line 32

def path
  @path ||= "#{ PATH }/#{ URI.encode(@attributes.fetch("id")) }"
end

#update_status(params = {}) ⇒ Response

Method for Update Integration Status endpoint.

Parameters:

  • id (String)

    Command ID to process

  • params (defaults to: {})

    Query parameters passed as keyword arguments. View M2X API Docs for listing of available parameters.

Returns:

  • (Response)

    The API response, see M2X API docs for details



42
43
44
# File 'lib/m2x/integration.rb', line 42

def update_status(params = {})
  @client.put("#{path}/status", nil, params)
end

#view_statusResponse

Method for View Integration Status Details endpoint.

Parameters:

  • id (String)

    Command ID to process

  • params

    Query parameters passed as keyword arguments. View M2X API Docs for listing of available parameters.

Returns:

  • (Response)

    The API response, see M2X API docs for details



52
53
54
# File 'lib/m2x/integration.rb', line 52

def view_status
  @client.get("#{path}/status")
end