ruby-onfleet 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|