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 +4 -4
- data/CHANGELOG.md +5 -1
- data/Gemfile +1 -0
- data/README.es.md +14 -2
- data/README.md +14 -2
- data/lib/resources/workers.rb +16 -0
- data/lib/test/test_data.json +43 -0
- data/lib/test/test_onfleet.rb +26 -0
- data/package.json +1 -1
- data/ruby-onfleet.gemspec +4 -3
- metadata +22 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 471ca6ebbd3bc9644207244c2b19d8d60ff9221e6c3e19a50e53e9e1411db11d
|
4
|
+
data.tar.gz: 5e7c98f994113bd8ce492770398868e786522630bd0b222d3a9d9fae986b47cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
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:
|
data/lib/resources/workers.rb
CHANGED
@@ -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'
|
data/lib/test/test_data.json
CHANGED
@@ -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
|
}
|
data/lib/test/test_onfleet.rb
CHANGED
@@ -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
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.
|
4
|
-
s.date = '
|
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', '~>
|
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.
|
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:
|
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:
|
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:
|
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.
|
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: []
|