Class: LosantRest::Applications
- Inherits:
-
Object
- Object
- LosantRest::Applications
- Defined in:
- lib/losant_rest/applications.rb
Overview
Class containing all the actions for the Applications Resource
Instance Method Summary collapse
-
#get(params = {}) ⇒ Object
Returns the applications the current user has permission to see.
-
#initialize(client) ⇒ Applications
constructor
A new instance of Applications.
-
#post(params = {}) ⇒ Object
Create a new application.
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:
-
200 - Collection of applications (api.losant.com/#/definitions/applications)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
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:
-
201 - Successfully created application (api.losant.com/#/definitions/application)
Errors:
-
400 - Error if malformed request (api.losant.com/#/definitions/error)
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 |