Class: Samsara::RoutesClient

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(request_client:) ⇒ Samsara::RoutesClient

Parameters:



28
29
30
31
# File 'lib/samsara_api/routes/client.rb', line 28

def initialize(request_client:)
  @request_client = request_client
  @audit_logs = Samsara::Routes::AuditLogsClient.new(request_client: request_client)
end

Instance Attribute Details

#audit_logs ⇒ Samsara::Routes::AuditLogsClient (readonly)



23
24
25
# File 'lib/samsara_api/routes/client.rb', line 23

def audit_logs
  @audit_logs
end

#request_client ⇒ Samsara::RequestClient (readonly)



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

def request_client
  @request_client
end

Instance Method Details

#create(driver_id: nil, external_ids: nil, name:, notes: nil, recompute_scheduled_times: nil, settings: nil, stops:, vehicle_id: nil, request_options: nil) ⇒ Object

api.routes.create(name: "Bid 123", stops: [{ }])



142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
# File 'lib/samsara_api/routes/client.rb', line 142

def create(driver_id: nil, external_ids: nil, name:, notes: nil, recompute_scheduled_times: nil, settings: nil, stops:, vehicle_id: nil, request_options: nil)
  response = @request_client.conn.post do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  req.body = { **(request_options&.additional_body_parameters || {}), driverId: driver_id, externalIds: external_ids, name: name, notes: notes, recomputeScheduledTimes: recompute_scheduled_times, settings: settings, stops: stops, vehicleId: vehicle_id }.compact
  req.url "#{@request_client.get_url(request_options: request_options)}/fleet/routes"
end
  Samsara::Types::RoutesCreateRouteResponseBody.from_json(json_object: response.body)
end

#delete(id:, request_options: nil) ⇒ Object

api.routes.delete(id: "id")



237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# File 'lib/samsara_api/routes/client.rb', line 237

def delete(id:, request_options: nil)
  response = @request_client.conn.delete do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/fleet/routes/#{id}"
end
end

#get(id:, request_options: nil) ⇒ Object

api.routes.get(id: "id")



189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
# File 'lib/samsara_api/routes/client.rb', line 189

def get(id:, request_options: nil)
  response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/fleet/routes/#{id}"
end
  Samsara::Types::RoutesFetchRouteResponseBody.from_json(json_object: response.body)
end

#list(start_time:, end_time:, limit: nil, after: nil, request_options: nil) ⇒ Object

api.routes.list(start_time: "startTime", end_time: "endTime")



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/samsara_api/routes/client.rb', line 68

def list(start_time:, end_time:, limit: nil, after: nil, request_options: nil)
  response = @request_client.conn.get do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  req.params = { **(request_options&.additional_query_parameters || {}), "startTime": start_time, "endTime": end_time, "limit": limit, "after": after }.compact
  unless request_options.nil? || request_options&.additional_body_parameters.nil?
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
  end
  req.url "#{@request_client.get_url(request_options: request_options)}/fleet/routes"
end
  Samsara::Types::RoutesFetchRoutesResponseBody.from_json(json_object: response.body)
end

#update(id:, driver_id: nil, external_ids: nil, name: nil, notes: nil, recompute_scheduled_times: nil, settings: nil, stops: nil, vehicle_id: nil, request_options: nil) ⇒ Object

api.routes.update(id: "id")



332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
# File 'lib/samsara_api/routes/client.rb', line 332

def update(id:, driver_id: nil, external_ids: nil, name: nil, notes: nil, recompute_scheduled_times: nil, settings: nil, stops: nil, vehicle_id: nil, request_options: nil)
  response = @request_client.conn.patch do | req |
  unless request_options&.timeout_in_seconds.nil?
req.options.timeout = request_options.timeout_in_seconds
  end
  unless request_options&.token.nil?
req.headers["Authorization"] = request_options.token
  end
  req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact
  unless request_options.nil? || request_options&.additional_query_parameters.nil?
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
  end
  req.body = { **(request_options&.additional_body_parameters || {}), driverId: driver_id, externalIds: external_ids, name: name, notes: notes, recomputeScheduledTimes: recompute_scheduled_times, settings: settings, stops: stops, vehicleId: vehicle_id }.compact
  req.url "#{@request_client.get_url(request_options: request_options)}/fleet/routes/#{id}"
end
  Samsara::Types::RoutesPatchRouteResponseBody.from_json(json_object: response.body)
end