Class: LosantRest::Client

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

Overview

Losant API

User API for accessing Losant data

Built For Version 1.21.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Client

Returns a new instance of Client.



34
35
36
37
# File 'lib/losant_rest/client.rb', line 34

def initialize(options = {})
  self.auth_token = options.fetch(:auth_token, nil)
  self.url        = options.fetch(:url, "https://api.losant.com")
end

Instance Attribute Details

#auth_tokenObject

Returns the value of attribute auth_token.



32
33
34
# File 'lib/losant_rest/client.rb', line 32

def auth_token
  @auth_token
end

#urlObject

Returns the value of attribute url.



32
33
34
# File 'lib/losant_rest/client.rb', line 32

def url
  @url
end

Instance Method Details

#applicationObject



39
40
41
# File 'lib/losant_rest/client.rb', line 39

def application
  @application ||= Application.new(self)
end

#application_api_tokenObject



43
44
45
# File 'lib/losant_rest/client.rb', line 43

def application_api_token
  @application_api_token ||= ApplicationApiToken.new(self)
end

#application_api_tokensObject



47
48
49
# File 'lib/losant_rest/client.rb', line 47

def application_api_tokens
  @application_api_tokens ||= ApplicationApiTokens.new(self)
end

#application_certificateObject



51
52
53
# File 'lib/losant_rest/client.rb', line 51

def application_certificate
  @application_certificate ||= ApplicationCertificate.new(self)
end

#application_certificate_authoritiesObject



55
56
57
# File 'lib/losant_rest/client.rb', line 55

def application_certificate_authorities
  @application_certificate_authorities ||= ApplicationCertificateAuthorities.new(self)
end

#application_certificate_authorityObject



59
60
61
# File 'lib/losant_rest/client.rb', line 59

def application_certificate_authority
  @application_certificate_authority ||= ApplicationCertificateAuthority.new(self)
end

#application_certificatesObject



63
64
65
# File 'lib/losant_rest/client.rb', line 63

def application_certificates
  @application_certificates ||= ApplicationCertificates.new(self)
end

#application_dashboardObject



67
68
69
# File 'lib/losant_rest/client.rb', line 67

def application_dashboard
  @application_dashboard ||= ApplicationDashboard.new(self)
end

#application_dashboardsObject



71
72
73
# File 'lib/losant_rest/client.rb', line 71

def application_dashboards
  @application_dashboards ||= ApplicationDashboards.new(self)
end

#application_keyObject



75
76
77
# File 'lib/losant_rest/client.rb', line 75

def application_key
  @application_key ||= ApplicationKey.new(self)
end

#application_keysObject



79
80
81
# File 'lib/losant_rest/client.rb', line 79

def application_keys
  @application_keys ||= ApplicationKeys.new(self)
end

#application_templateObject



83
84
85
# File 'lib/losant_rest/client.rb', line 83

def application_template
  @application_template ||= ApplicationTemplate.new(self)
end

#application_templatesObject



87
88
89
# File 'lib/losant_rest/client.rb', line 87

def application_templates
  @application_templates ||= ApplicationTemplates.new(self)
end

#applicationsObject



91
92
93
# File 'lib/losant_rest/client.rb', line 91

def applications
  @applications ||= Applications.new(self)
end

#audit_logObject



95
96
97
# File 'lib/losant_rest/client.rb', line 95

def audit_log
  @audit_log ||= AuditLog.new(self)
end

#audit_logsObject



99
100
101
# File 'lib/losant_rest/client.rb', line 99

def audit_logs
  @audit_logs ||= AuditLogs.new(self)
end

#authObject



103
104
105
# File 'lib/losant_rest/client.rb', line 103

def auth
  @auth ||= Auth.new(self)
end

#dashboardObject



107
108
109
# File 'lib/losant_rest/client.rb', line 107

def dashboard
  @dashboard ||= Dashboard.new(self)
end

#dashboardsObject



111
112
113
# File 'lib/losant_rest/client.rb', line 111

def dashboards
  @dashboards ||= Dashboards.new(self)
end

#dataObject



115
116
117
# File 'lib/losant_rest/client.rb', line 115

def data
  @data ||= Data.new(self)
end

#data_tableObject



119
120
121
# File 'lib/losant_rest/client.rb', line 119

def data_table
  @data_table ||= DataTable.new(self)
end

#data_table_rowObject



123
124
125
# File 'lib/losant_rest/client.rb', line 123

def data_table_row
  @data_table_row ||= DataTableRow.new(self)
end

#data_table_rowsObject



127
128
129
# File 'lib/losant_rest/client.rb', line 127

def data_table_rows
  @data_table_rows ||= DataTableRows.new(self)
end

#data_tablesObject



131
132
133
# File 'lib/losant_rest/client.rb', line 131

def data_tables
  @data_tables ||= DataTables.new(self)
end

#deviceObject



135
136
137
# File 'lib/losant_rest/client.rb', line 135

def device
  @device ||= Device.new(self)
end

#device_recipeObject



139
140
141
# File 'lib/losant_rest/client.rb', line 139

def device_recipe
  @device_recipe ||= DeviceRecipe.new(self)
end

#device_recipesObject



143
144
145
# File 'lib/losant_rest/client.rb', line 143

def device_recipes
  @device_recipes ||= DeviceRecipes.new(self)
end

#devicesObject



147
148
149
# File 'lib/losant_rest/client.rb', line 147

def devices
  @devices ||= Devices.new(self)
end

#edge_deploymentObject



151
152
153
# File 'lib/losant_rest/client.rb', line 151

def edge_deployment
  @edge_deployment ||= EdgeDeployment.new(self)
end

#edge_deploymentsObject



155
156
157
# File 'lib/losant_rest/client.rb', line 155

def edge_deployments
  @edge_deployments ||= EdgeDeployments.new(self)
end

#eventObject



159
160
161
# File 'lib/losant_rest/client.rb', line 159

def event
  @event ||= Event.new(self)
end

#eventsObject



163
164
165
# File 'lib/losant_rest/client.rb', line 163

def events
  @events ||= Events.new(self)
end

#experienceObject



167
168
169
# File 'lib/losant_rest/client.rb', line 167

def experience
  @experience ||= Experience.new(self)
end

#experience_domainObject



171
172
173
# File 'lib/losant_rest/client.rb', line 171

def experience_domain
  @experience_domain ||= ExperienceDomain.new(self)
end

#experience_domainsObject



175
176
177
# File 'lib/losant_rest/client.rb', line 175

def experience_domains
  @experience_domains ||= ExperienceDomains.new(self)
end

#experience_endpointObject



179
180
181
# File 'lib/losant_rest/client.rb', line 179

def experience_endpoint
  @experience_endpoint ||= ExperienceEndpoint.new(self)
end

#experience_endpointsObject



183
184
185
# File 'lib/losant_rest/client.rb', line 183

def experience_endpoints
  @experience_endpoints ||= ExperienceEndpoints.new(self)
end

#experience_groupObject



187
188
189
# File 'lib/losant_rest/client.rb', line 187

def experience_group
  @experience_group ||= ExperienceGroup.new(self)
end

#experience_groupsObject



191
192
193
# File 'lib/losant_rest/client.rb', line 191

def experience_groups
  @experience_groups ||= ExperienceGroups.new(self)
end

#experience_slugObject



195
196
197
# File 'lib/losant_rest/client.rb', line 195

def experience_slug
  @experience_slug ||= ExperienceSlug.new(self)
end

#experience_slugsObject



199
200
201
# File 'lib/losant_rest/client.rb', line 199

def experience_slugs
  @experience_slugs ||= ExperienceSlugs.new(self)
end

#experience_userObject



203
204
205
# File 'lib/losant_rest/client.rb', line 203

def experience_user
  @experience_user ||= ExperienceUser.new(self)
end

#experience_usersObject



207
208
209
# File 'lib/losant_rest/client.rb', line 207

def experience_users
  @experience_users ||= ExperienceUsers.new(self)
end

#experience_versionObject



211
212
213
# File 'lib/losant_rest/client.rb', line 211

def experience_version
  @experience_version ||= ExperienceVersion.new(self)
end

#experience_versionsObject



215
216
217
# File 'lib/losant_rest/client.rb', line 215

def experience_versions
  @experience_versions ||= ExperienceVersions.new(self)
end

#experience_viewObject



219
220
221
# File 'lib/losant_rest/client.rb', line 219

def experience_view
  @experience_view ||= ExperienceView.new(self)
end

#experience_viewsObject



223
224
225
# File 'lib/losant_rest/client.rb', line 223

def experience_views
  @experience_views ||= ExperienceViews.new(self)
end

#fileObject



227
228
229
# File 'lib/losant_rest/client.rb', line 227

def file
  @file ||= File.new(self)
end

#filesObject



231
232
233
# File 'lib/losant_rest/client.rb', line 231

def files
  @files ||= Files.new(self)
end

#flowObject



235
236
237
# File 'lib/losant_rest/client.rb', line 235

def flow
  @flow ||= Flow.new(self)
end

#flow_versionObject



239
240
241
# File 'lib/losant_rest/client.rb', line 239

def flow_version
  @flow_version ||= FlowVersion.new(self)
end

#flow_versionsObject



243
244
245
# File 'lib/losant_rest/client.rb', line 243

def flow_versions
  @flow_versions ||= FlowVersions.new(self)
end

#flowsObject



247
248
249
# File 'lib/losant_rest/client.rb', line 247

def flows
  @flows ||= Flows.new(self)
end

#instanceObject



251
252
253
# File 'lib/losant_rest/client.rb', line 251

def instance
  @instance ||= Instance.new(self)
end

#instance_api_tokenObject



255
256
257
# File 'lib/losant_rest/client.rb', line 255

def instance_api_token
  @instance_api_token ||= InstanceApiToken.new(self)
end

#instance_api_tokensObject



259
260
261
# File 'lib/losant_rest/client.rb', line 259

def instance_api_tokens
  @instance_api_tokens ||= InstanceApiTokens.new(self)
end

#instance_memberObject



263
264
265
# File 'lib/losant_rest/client.rb', line 263

def instance_member
  @instance_member ||= InstanceMember.new(self)
end

#instance_membersObject



267
268
269
# File 'lib/losant_rest/client.rb', line 267

def instance_members
  @instance_members ||= InstanceMembers.new(self)
end

#instance_orgObject



271
272
273
# File 'lib/losant_rest/client.rb', line 271

def instance_org
  @instance_org ||= InstanceOrg.new(self)
end

#instance_org_inviteObject



275
276
277
# File 'lib/losant_rest/client.rb', line 275

def instance_org_invite
  @instance_org_invite ||= InstanceOrgInvite.new(self)
end

#instance_org_invitesObject



279
280
281
# File 'lib/losant_rest/client.rb', line 279

def instance_org_invites
  @instance_org_invites ||= InstanceOrgInvites.new(self)
end

#instance_org_memberObject



283
284
285
# File 'lib/losant_rest/client.rb', line 283

def instance_org_member
  @instance_org_member ||= InstanceOrgMember.new(self)
end

#instance_org_membersObject



287
288
289
# File 'lib/losant_rest/client.rb', line 287

def instance_org_members
  @instance_org_members ||= InstanceOrgMembers.new(self)
end

#instance_orgsObject



291
292
293
# File 'lib/losant_rest/client.rb', line 291

def instance_orgs
  @instance_orgs ||= InstanceOrgs.new(self)
end

#instancesObject



295
296
297
# File 'lib/losant_rest/client.rb', line 295

def instances
  @instances ||= Instances.new(self)
end

#integrationObject



299
300
301
# File 'lib/losant_rest/client.rb', line 299

def integration
  @integration ||= Integration.new(self)
end

#integrationsObject



303
304
305
# File 'lib/losant_rest/client.rb', line 303

def integrations
  @integrations ||= Integrations.new(self)
end

#meObject



307
308
309
# File 'lib/losant_rest/client.rb', line 307

def me
  @me ||= Me.new(self)
end

#notebookObject



311
312
313
# File 'lib/losant_rest/client.rb', line 311

def notebook
  @notebook ||= Notebook.new(self)
end

#notebooksObject



315
316
317
# File 'lib/losant_rest/client.rb', line 315

def notebooks
  @notebooks ||= Notebooks.new(self)
end

#orgObject



319
320
321
# File 'lib/losant_rest/client.rb', line 319

def org
  @org ||= Org.new(self)
end

#org_invitesObject



323
324
325
# File 'lib/losant_rest/client.rb', line 323

def org_invites
  @org_invites ||= OrgInvites.new(self)
end

#orgsObject



327
328
329
# File 'lib/losant_rest/client.rb', line 327

def orgs
  @orgs ||= Orgs.new(self)
end

#request(options = {}) ⇒ Object



347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
# File 'lib/losant_rest/client.rb', line 347

def request(options = {})
  headers = options.fetch(:headers, {})
  method  = options.fetch(:method, :get)

  headers["Accept"]         = "application/json"
  headers["Content-Type"]   = "application/json"
  headers["Accept-Version"] = "^1.21.0"
  headers["Authorization"]  = "Bearer #{self.auth_token}" if self.auth_token
  path = self.url + options.fetch(:path, "")

  response = HTTParty.send(method, path,
    query: Utils.fix_query_arrays(options[:query]),
    body: options[:body] && options[:body].to_json(),
    headers: headers)

  result = response.parsed_response
  if response.code >= 400
    raise ResponseError.new(response.code, result)
  end

  result
end

#user_api_tokenObject



331
332
333
# File 'lib/losant_rest/client.rb', line 331

def user_api_token
  @user_api_token ||= UserApiToken.new(self)
end

#user_api_tokensObject



335
336
337
# File 'lib/losant_rest/client.rb', line 335

def user_api_tokens
  @user_api_tokens ||= UserApiTokens.new(self)
end

#webhookObject



339
340
341
# File 'lib/losant_rest/client.rb', line 339

def webhook
  @webhook ||= Webhook.new(self)
end

#webhooksObject



343
344
345
# File 'lib/losant_rest/client.rb', line 343

def webhooks
  @webhooks ||= Webhooks.new(self)
end