Class: LosantRest::Applications

Inherits:
Object
  • Object
show all
Defined in:
lib/losant_rest/applications.rb

Overview

Class containing all the actions for the Applications Resource

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Applications

Returns a new instance of Applications.



6
7
8
# File 'lib/losant_rest/applications.rb', line 6

def initialize(client)
  @client = client
end

Instance Method Details

#get(params = {}) ⇒ Object

Returns the applications the current user has permission to see

Parameters:

  • string sortField - Field to sort the results by. Accepted values are: name, id, creationDate, ownerId

  • string sortDirection - Direction to sort the results by. Accepted values are: asc, desc

  • string page - Which page of results to return

  • string perPage - How many items to return per page

  • string filterField - Field to filter the results by. Blank or not provided means no filtering. Accepted values are: name

  • string filter - Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering.

  • string orgId - If not provided, return all applications. If provided but blank, only return applications belonging to the current user. If provided and an id, only return applications belonging to the given organization id.

  • string losantdomain - Domain scope of request (rarely needed)

  • boolean _actions - Return resource actions in response

  • boolean _links - Return resource link in response

  • boolean _embedded - Return embedded resources in response

Responses:

Errors:



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/losant_rest/applications.rb', line 30

def get(params = {})
  params = Utils.symbolize_hash_keys(params)
  query_params = { _actions: false, _links: true, _embedded: true }
  headers = {}
  body = nil


  query_params[:sortField] = params[:sortField] if params.has_key?(:sortField)
  query_params[:sortDirection] = params[:sortDirection] if params.has_key?(:sortDirection)
  query_params[:page] = params[:page] if params.has_key?(:page)
  query_params[:perPage] = params[:perPage] if params.has_key?(:perPage)
  query_params[:filterField] = params[:filterField] if params.has_key?(:filterField)
  query_params[:filter] = params[:filter] if params.has_key?(:filter)
  query_params[:orgId] = params[:orgId] if params.has_key?(:orgId)
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
  query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)

  path = "/applications"

  @client.request(
    method: :get,
    path: path,
    query: query_params,
    headers: headers,
    body: body)
end

#post(params = {}) ⇒ Object

Create a new application

Parameters:

  • hash application - New application information (api.losant.com/#/definitions/applicationPost)

  • string losantdomain - Domain scope of request (rarely needed)

  • boolean _actions - Return resource actions in response

  • boolean _links - Return resource link in response

  • boolean _embedded - Return embedded resources in response

Responses:

Errors:

Raises:

  • (ArgumentError)


73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/losant_rest/applications.rb', line 73

def post(params = {})
  params = Utils.symbolize_hash_keys(params)
  query_params = { _actions: false, _links: true, _embedded: true }
  headers = {}
  body = nil

  raise ArgumentError.new("application is required") unless params.has_key?(:application)

  body = params[:application] if params.has_key?(:application)
  headers[:losantdomain] = params[:losantdomain] if params.has_key?(:losantdomain)
  query_params[:_actions] = params[:_actions] if params.has_key?(:_actions)
  query_params[:_links] = params[:_links] if params.has_key?(:_links)
  query_params[:_embedded] = params[:_embedded] if params.has_key?(:_embedded)

  path = "/applications"

  @client.request(
    method: :post,
    path: path,
    query: query_params,
    headers: headers,
    body: body)
end