ruby-onfleet 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1429934d40b07829fc9b2e869ff4e56e0863150ed386e03fe55a0cd9c0ac8ae8
4
- data.tar.gz: 8633c462b796a88063bc108e6f87b65c3bc63e5c6c8ee906719858e1fb62a9af
3
+ metadata.gz: 471ca6ebbd3bc9644207244c2b19d8d60ff9221e6c3e19a50e53e9e1411db11d
4
+ data.tar.gz: 5e7c98f994113bd8ce492770398868e786522630bd0b222d3a9d9fae986b47cc
5
5
  SHA512:
6
- metadata.gz: f596880437d92765c5016c912ddbe6d5277d6a0cda1e0ad53e5f44ccf1d010f720aff669adfbbf177ae85aaa470372eb49b96a8e245123824fae9a3d0d88cb05
7
- data.tar.gz: b218461e936100d35630c3d2a5e96aa36eafec2dc2ac21f5f23b18bc6fe9da4163cd90f934dfeda5c0e559a62cc29cf2f7ca5cc8ec6e0be5d24ead9d38796808
6
+ metadata.gz: 743882b728bfcdecd669d8d72799705a16dceaa89947c6eafaf83791d04913221f557e78abac56129f599c38f5ed434798854b3ea2ba1660b7acc355444d77ea
7
+ data.tar.gz: f276fe5e4e1c895c95cb78151dd8514a6e10a5a854efd5b4e5bb7704714e0d9e9625c98e7cb1a6b2904076e8e3e4f86468fe6d3dac15bad6a777cf34ac367a9c
data/CHANGELOG.md CHANGED
@@ -21,4 +21,8 @@ Added
21
21
  ## [1.0.3](https://github.com/onfleet/ruby-onfleet/releases/tag/v1.0.3) - 2023-06-05
22
22
  Added
23
23
  * Updated package.json to reference relative path
24
- * Updated utils.rb to require error classes
24
+ * Updated utils.rb to require error classes
25
+
26
+ ## [1.0.4](https://github.com/onfleet/ruby-onfleet/releases/tag/v1.0.4) - 2024-05-29
27
+ Added
28
+ * Added support for Worker's Route Delivery Manifest
data/Gemfile CHANGED
@@ -1,6 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gem 'faraday'
4
+ gem 'faraday-net_http'
4
5
  gem 'faraday-rate_limiter'
5
6
  gem 'json'
6
7
  gem 'rspec'
data/README.es.md CHANGED
@@ -89,7 +89,7 @@ Estas son las operaciones disponibles para cada endpoint:
89
89
  |[tasks](https://docs.onfleet.com/reference/tasks)|get(id)<br />list(queryParameters={})<br />get_by_short_id(shortId)|create(body={})<br />batch_create(body={})<br />batch_create_async(body={})<br />complete(id, body={})<br />clone(id)<br />auto_assign(body={})<br />match_metadata(body={})|update(id, body={})|delete(id)|
90
90
  |[teams](https://docs.onfleet.com/reference/teams)|get(id)<br />list()<br />driver_time_estimate(workerId, queryParameters={})<br />get_unassigned_tasks(id)|create(body={})<br />auto_dispatch(id, body={})|update(id, body={})<br />insert_task(teamId, body={})|delete(id)|
91
91
  |[webhooks](https://docs.onfleet.com/reference/webhooks)|list()|create(body={})|X|delete(id)|
92
- |[workers](https://docs.onfleet.com/reference/workers)|get(id=nil, queryParameters={})<br />get_tasks(id)<br />get_by_location(longitude, latitude, radius)<br />get_schedule(id)|create(body={})<br />set_schedule(id, body={})<br />match_metadata(body={})|update(id, body={})<br />insert_task(id, body={})|delete(id)|
92
+ |[workers](https://docs.onfleet.com/reference/workers)|get(id=nil, queryParameters={})<br />get_tasks(id)<br />get_by_location(longitude, latitude, radius)<br />get_schedule(id)|create(body={})<br />set_schedule(id, body={})<br />match_metadata(body={})<br />get_delivery_manifest(body={}, googleApiKey, queryParameters={})|update(id, body={})<br />insert_task(id, body={})|delete(id)|
93
93
 
94
94
  ### **Peticiones GET**
95
95
  Para obtener todos los objetos de entidad dentro de un endpoint, use `list`:
@@ -176,6 +176,17 @@ workers = Onfleet::Workers.new
176
176
  workers.create(config, body)
177
177
  ```
178
178
 
179
+ Examples of `get_delivery_manifest()`:
180
+ ```
181
+ body = {
182
+ "path": "providers/manifest/generate?hubId=<workerId>&workerId=<workerId>",
183
+ "method": "GET"
184
+ }
185
+
186
+ workers = Onfleet::Workers.new
187
+ workers.create(config, body, 'google_api_key', queryParameters={'startDate': '1455072025000', 'endDate': '1455072025000'})
188
+ ```
189
+
179
190
  Las solicitudes POST extendidas incluyen clon, batch_create, auto_assign en el endpoint de las tareas; set_schedule en el endpoint de los trabajadores; y auto_dispatch en el endpoint de los equipos. A continuación, se muestran ejemplos de estos endpoints:
180
191
 
181
192
  ```
@@ -186,12 +197,13 @@ tasks.auto_assign(config, body)
186
197
 
187
198
  workers = Onfleet::Workers.new
188
199
  workers.set_schedule(config, 'id', body)
200
+ workers.get_delivery_manfiest(config, body, 'google_api_key', queryParameters={})
189
201
 
190
202
  teams = Onfleet::Teams.new
191
203
  teams.auto_dispatch(config, 'id', body)
192
204
  ```
193
205
 
194
- Para más detalles, consulte nuestra documentación en [clone](https://docs.onfleet.com/reference#clone-task), [batch_create](https://docs.onfleet.com/reference#create-tasks-in-batch), [auto_assign](https://docs.onfleet.com/reference#automatically-assign-list-of-tasks), [set_schedule](https://docs.onfleet.com/reference#set-workers-schedule), y [auto_dispatch](https://docs.onfleet.com/reference#team-auto-dispatch).
206
+ Para más detalles, consulte nuestra documentación en [clone](https://docs.onfleet.com/reference#clone-task), [batch_create](https://docs.onfleet.com/reference#create-tasks-in-batch), [auto_assign](https://docs.onfleet.com/reference#automatically-assign-list-of-tasks), [set_schedule](https://docs.onfleet.com/reference#set-workers-schedule), [get_delivery_manifest](https://docs.onfleet.com/reference/delivery-manifest) y [auto_dispatch](https://docs.onfleet.com/reference#team-auto-dispatch).
195
207
 
196
208
  ### **Peticiones PUT**
197
209
  Para actualizar un objeto de entidad dentro de un endpoint:
data/README.md CHANGED
@@ -87,7 +87,7 @@ Here are the operations available for each entity:
87
87
  |[tasks](https://docs.onfleet.com/reference/tasks)|get(id)<br />list(queryParameters={})<br />get_by_short_id(shortId)|create(body={})<br />batch_create(body={})<br />batch_create_async(body={})<br />complete(id, body={})<br />clone(id)<br />auto_assign(body={})<br />match_metadata(body={})|update(id, body={})|delete(id)|
88
88
  |[teams](https://docs.onfleet.com/reference/teams)|get(id)<br />list()<br />driver_time_estimate(workerId, queryParameters={})<br />get_unassigned_tasks(id)|create(body={})<br />auto_dispatch(id, body={})|update(id, body={})<br />insert_task(teamId, body={})|delete(id)|
89
89
  |[webhooks](https://docs.onfleet.com/reference/webhooks)|list()|create(body={})|X|delete(id)|
90
- |[workers](https://docs.onfleet.com/reference/workers)|get(id=nil, queryParameters={})<br />get_tasks(id)<br />get_by_location(longitude, latitude, radius)<br />get_schedule(id)|create(body={})<br />set_schedule(id, body={})<br />match_metadata(body={})|update(id, body={})<br />insert_task(id, body={})|delete(id)|
90
+ |[workers](https://docs.onfleet.com/reference/workers)|get(id=nil, queryParameters={})<br />get_tasks(id)<br />get_by_location(longitude, latitude, radius)<br />get_schedule(id)|create(body={})<br />set_schedule(id, body={})<br />match_metadata(body={})<br />get_delivery_manifest(body={}, googleApiKey, queryParameters={})|update(id, body={})<br />insert_task(id, body={})|delete(id)|
91
91
 
92
92
  ### **GET Requests**
93
93
  To get all the entity objects within an endpoint use `list`:
@@ -174,6 +174,17 @@ workers = Onfleet::Workers.new
174
174
  workers.create(config, body)
175
175
  ```
176
176
 
177
+ Examples of `get_delivery_manifest()`:
178
+ ```
179
+ body = {
180
+ "path": "providers/manifest/generate?hubId=<workerId>&workerId=<workerId>",
181
+ "method": "GET"
182
+ }
183
+
184
+ workers = Onfleet::Workers.new
185
+ workers.create(config, body, 'google_api_key', queryParameters={'startDate': '1455072025000', 'endDate': '1455072025000'})
186
+ ```
187
+
177
188
  Extended POST requests include clone, batch_create, auto_assign on the tasks endpoint; set_schedule on the workers endpoint; and auto_dispatch on the teams endpoint. Examples of these endpoints are below:
178
189
 
179
190
  ```
@@ -184,12 +195,13 @@ tasks.auto_assign(config, body)
184
195
 
185
196
  workers = Onfleet::Workers.new
186
197
  workers.set_schedule(config, 'id', body)
198
+ workers.get_delivery_manfiest(config, body, 'google_api_key', queryParameters={})
187
199
 
188
200
  teams = Onfleet::Teams.new
189
201
  teams.auto_dispatch(config, 'id', body)
190
202
  ```
191
203
 
192
- For more details, check our documentation on [clone](https://docs.onfleet.com/reference#clone-task), [batch_create](https://docs.onfleet.com/reference#create-tasks-in-batch), [auto_assign](https://docs.onfleet.com/reference#automatically-assign-list-of-tasks), [set_schedule](https://docs.onfleet.com/reference#set-workers-schedule), and [auto_dispatch](https://docs.onfleet.com/reference#team-auto-dispatch).
204
+ For more details, check our documentation on [clone](https://docs.onfleet.com/reference#clone-task), [batch_create](https://docs.onfleet.com/reference#create-tasks-in-batch), [auto_assign](https://docs.onfleet.com/reference#automatically-assign-list-of-tasks), [set_schedule](https://docs.onfleet.com/reference#set-workers-schedule), [get_delivery_manifest](https://docs.onfleet.com/reference/delivery-manifest) and [auto_dispatch](https://docs.onfleet.com/reference#team-auto-dispatch).
193
205
 
194
206
  ### **PUT Requests**
195
207
  To update an entity object within an endpoint:
@@ -73,6 +73,22 @@ module Onfleet
73
73
  Onfleet.request(config, method.to_sym, path, body.to_json)
74
74
  end
75
75
 
76
+ def get_delivery_manifest(config, body, google_api_key, query_parameters_hash)
77
+ method = 'post'
78
+ query_parameters = nil
79
+
80
+ if google_api_key
81
+ config.headers['X-Api-Key'] = "Google #{google_api_key}"
82
+ end
83
+
84
+ if query_parameters_hash
85
+ query_parameters = URI.encode_www_form(query_parameters_hash)
86
+ end
87
+ path = "integrations/marketplace?#{query_parameters}"
88
+
89
+ Onfleet.request(config, method.to_sym, path, body.to_json)
90
+ end
91
+
76
92
  # ACTION: still needs to be tested
77
93
  def insert_task(config, worker_id, body)
78
94
  method = 'put'
@@ -1996,6 +1996,49 @@
1996
1996
  }
1997
1997
  ]
1998
1998
  }
1999
+ },
2000
+ "getManifestProvider": {
2001
+ "request": {
2002
+ "path": "providers/manifest/generate?hubId=<hubId>&workerId=<workerId>",
2003
+ "method": "GET"
2004
+ },
2005
+ "response": {
2006
+ "manifestDate": 1694199600000,
2007
+ "departureTime": 1694199600000,
2008
+ "driver": {
2009
+ "name": "Test One",
2010
+ "phone": "+16265555768"
2011
+ },
2012
+ "vehicle": {
2013
+ "type": "CAR",
2014
+ "description": "Honda",
2015
+ "licensePlate": "12345687",
2016
+ "color": "Purple",
2017
+ "timeLastModified": 1692746334342
2018
+ },
2019
+ "hubAddress": "1111 South Figueroa Street, Los Angeles, California 90015",
2020
+ "turnByTurn": [
2021
+ {
2022
+ "start_address": "1403 W Pico Blvd, Los Angeles, CA 90015, USA",
2023
+ "end_address": "2695 E Katella Ave, Anaheim, CA 92806, USA",
2024
+ "eta": 1692992466000,
2025
+ "driving_distance": "30.6 mi",
2026
+ "steps": [
2027
+ "Head southeast on 12th St E toward S Figueroa StPartial restricted usage road",
2028
+ "Turn right onto Flower St",
2029
+ "Turn left onto the Interstate 10 E ramp to 18th St",
2030
+ "Merge onto I-10 E",
2031
+ "Take the exit onto I-5 S toward Santa Ana",
2032
+ "Take exit 109A for Katella Ave",
2033
+ "Turn right onto E Katella AvePass by Comerica Bank (on the right in 1.3 mi)",
2034
+ "Turn left onto S Douglass Rd",
2035
+ "Turn right onto Stanley Cup Wy",
2036
+ "Turn right"
2037
+ ]
2038
+ }
2039
+ ],
2040
+ "totalDistance": null
2041
+ }
1999
2042
  }
2000
2043
  }
2001
2044
  }
@@ -1004,4 +1004,30 @@ describe Onfleet::Workers do
1004
1004
  expect(response.status).to eq 200
1005
1005
  expect(response.body).to include('entries')
1006
1006
  end
1007
+
1008
+ it 'can get Delivery Manifest by calling POST /integrations/marketplace' do
1009
+ # request data
1010
+ config = RSpec.configuration.api_variables
1011
+ request_data = RSpec.configuration.test_data['workers']['get_delivery_manifest']['request']
1012
+ path = "integrations/marketplace"
1013
+ method = 'post'
1014
+ headers = {}
1015
+ headers['Content-Type'] = 'application/json'
1016
+ headers['User-Agent'] = '@onfleet/ruby-onfleet-1.0'
1017
+ headers['X-Api-Key'] = 'Google <google_api_key>'
1018
+
1019
+ # response data
1020
+ response_data = RSpec.configuration.test_data['workers']['get_delivery_manifest']['response']
1021
+
1022
+ stub_request(method.to_sym, "#{config.base_url}/#{path}")
1023
+ .with(basic_auth: [config.api_key, config.api_key], body: request_data, headers: headers)
1024
+ .to_return(status: 200, body: response_data.to_json)
1025
+
1026
+ worker = Onfleet::Workers.new
1027
+ response = worker.get_delivery_manifest(config, request_data, 'google_api_key', queryParameters={'startDate': '1455072025000', 'endDate': '1455072025000'})
1028
+
1029
+ expect(response.status).to eq 200
1030
+ expect(response.body).to include('manifestDate')
1031
+ expect(response.body).to include('turnByTurn')
1032
+ end
1007
1033
  end
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onfleet/ruby-onfleet",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Onfleet's Ruby API wrapper package",
5
5
  "main": "onfleet.rb",
6
6
  "scripts": {
data/ruby-onfleet.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'ruby-onfleet'
3
- s.version = '1.0.3'
4
- s.date = '2023-06-05'
3
+ s.version = '1.0.4'
4
+ s.date = '2024-06-10'
5
5
  s.summary = 'Onfleet Ruby API wrapper package'
6
6
  s.description = 'The Onfleet Ruby library provides convenient access to the Onfleet API.'
7
7
  s.authors = ['Dan Menza']
@@ -10,7 +10,8 @@ Gem::Specification.new do |s|
10
10
  s.license = 'MIT'
11
11
  s.metadata = { 'source_code_uri' => 'https://github.com/onfleet/ruby-onfleet' }
12
12
 
13
- s.add_dependency('faraday', '~> 1.10.0')
13
+ s.add_dependency('faraday', '~> 2.9.0')
14
+ s.add_dependency('faraday-net_http', '~> 3.1.0')
14
15
  s.add_dependency('faraday-rate_limiter', '~> 0.0.4')
15
16
  s.add_dependency('json', '~> 2.6.3')
16
17
  s.add_dependency('uri', '~> 0.12.1')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-onfleet
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Menza
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-05 00:00:00.000000000 Z
11
+ date: 2024-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,14 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.10.0
19
+ version: 2.9.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.10.0
26
+ version: 2.9.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: faraday-net_http
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 3.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.1.0
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: faraday-rate_limiter
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -134,7 +148,7 @@ licenses:
134
148
  - MIT
135
149
  metadata:
136
150
  source_code_uri: https://github.com/onfleet/ruby-onfleet
137
- post_install_message:
151
+ post_install_message:
138
152
  rdoc_options: []
139
153
  require_paths:
140
154
  - lib
@@ -149,8 +163,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
163
  - !ruby/object:Gem::Version
150
164
  version: '0'
151
165
  requirements: []
152
- rubygems_version: 3.0.3.1
153
- signing_key:
166
+ rubygems_version: 3.4.10
167
+ signing_key:
154
168
  specification_version: 4
155
169
  summary: Onfleet Ruby API wrapper package
156
170
  test_files: []