versafleet 0.1.0 → 0.2.0

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: 2872dea00a6a74e0da415d8aff37a0e9273664d2ceb5769e697879ac7d5f13d3
4
- data.tar.gz: 5101033d3ed26baff22805df056213059a2d1639b98608773e732ed885ceea45
3
+ metadata.gz: 35ddde324fb63af2273c9141dc2e0eb5e7125aac77ff4445c7bafa7d831a42e6
4
+ data.tar.gz: 102437b0f17c395bc7925a3f0f411a6b2ac8f06241564143e8ed01798be94bf4
5
5
  SHA512:
6
- metadata.gz: bc310498781806260dac85344782a306a0f4677f38dc686b7b887a02c00f6135c2249cf8aa688730b02870113bba01d4626c5e435f950b4cbc6dbad58ed41fb5
7
- data.tar.gz: 3228a237fec17275742a3720cb7c48d61b9c1ac0a0fe478f272aacd88eaa82bd997aa6837a7b81bf4c2ffb126ebbd82b86ca177cf9ffb8ab837b1125a91fcf4c
6
+ metadata.gz: 3bafe01ca74150bf2f02e8a6eb0f8f87b79aa28d72e63e5d444ecd92427dfc25688d7755ff3ed91a33cf648981af6ddf95fc115a8da41f0865c9529a0f148845
7
+ data.tar.gz: 5fc7fc2ff39a0bcfb76435d027a1ce5b9b132f8debf45db63798f6f0c6e93c8de452caa36c782dcbdf73bf57115fa358b4a60256f88c45d00423f4c93d0fed97
data/README.md CHANGED
@@ -19,6 +19,8 @@ gem "versafleet"
19
19
 
20
20
  To access the API, you'll need to create a `Versafleet::Client` and pass in your API Key and Secret Key. See [How to obtain API keys](https://versafleet.docs.apiary.io/#introduction/to-obtain-api-keys-(please-keep-them-safe!))
21
21
 
22
+ Need more details? See [VersaFleet API Documentation](https://rubydoc.info/gems/versafleet) to see how it works internally.
23
+
22
24
  ```ruby
23
25
  client = Versafleet::Client.new(client_id: ENV["CLIENT_ID"], client_secret: ENV["CLIENT_SECRET"])
24
26
  ```
@@ -62,7 +64,7 @@ client.tasks.create(task_attributes: {})
62
64
  # assign task to driver
63
65
  client.tasks.assign(task_id: task_id, task: {driver_id: driver_id, vehicle_id: vehicle_id, remarks: "Notes"})
64
66
  # assign multiple tasks to driver
65
- client.tasks.assign_multiple(task: {ids: [], driver_id: driver_id, vehicle_id: vehicle_id, remarks: "Notes")
67
+ client.tasks.assign_multiple(task: {ids: [], driver_id: driver_id, vehicle_id: vehicle_id, remarks: "Notes"})
66
68
  # unassign task
67
69
  client.tasks.unassign(task_id: task_id)
68
70
  # unassign multiple tasks
@@ -87,9 +89,22 @@ client.tasks.completion_histories(task_id: task_id)
87
89
  client.tasks.base_completion_histories(task_id: task_id)
88
90
  ```
89
91
 
92
+ ### Drivers
93
+
94
+ ```ruby
95
+ # list drivers
96
+ client.drivers.list
97
+ # get a driver details
98
+ client.drivers.retrieve(driver_id: driver_id)
99
+ # create driver
100
+ client.drivers.create(driver: {name: "Yolo", dob: "1990-09-09"})
101
+ # update driver
102
+ client.drivers.update(driver_id: driver_id, driver: {name: "Yolo update"})
103
+ ```
104
+
90
105
  ## TO DO
91
106
 
92
- - [ ] Add API Documentation
107
+ - [x] Add API Documentation ([#2](https://github.com/maful/versafleet-ruby/pull/2))
93
108
  - [ ] Add Docker support
94
109
  - [ ] Support to All VersaFleet API endpoints.
95
110
 
@@ -1,22 +1,53 @@
1
1
  module Versafleet
2
2
  class Client
3
+ # Default API endpoint
3
4
  BASE_URL = "https://api.versafleet.co/api"
4
5
 
5
- attr_reader :client_id, :client_secret
6
+ # @return [String] Gets the VersaFleet API Key
7
+ attr_reader :client_id
6
8
 
9
+ # @return [String] Gets the VersaFleet Secret Key
10
+ attr_reader :client_secret
11
+
12
+ # Initialize a new VersaFlet client
13
+ #
14
+ # == Example:
15
+ #
16
+ # client = Versafleet::Client.new(client_id: ENV["CLIENT_ID"], client_secret: ENV["CLIENT_SECRET"])
17
+ # # use Jobs resource
18
+ # client.jobs.list
19
+ #
20
+ # @param client_id [String] VersaFleet API Key
21
+ # @param client_secret [String] VersaFleet Secret Key
7
22
  def initialize(client_id:, client_secret:)
8
23
  @client_id = client_id
9
24
  @client_secret = client_secret
10
25
  end
11
26
 
27
+ # Jobs Resource instance
28
+ #
29
+ # @return [JobsResource]
12
30
  def jobs
13
31
  JobsResource.new(self)
14
32
  end
15
33
 
34
+ # Tasks Resource instance
35
+ #
36
+ # @return [TasksResource]
16
37
  def tasks
17
38
  TasksResource.new(self)
18
39
  end
19
40
 
41
+ # Drivers Resource instance
42
+ #
43
+ # @return [DriversResource]
44
+ def drivers
45
+ DriversResource.new(self)
46
+ end
47
+
48
+ # Initializes a new Faraday connection
49
+ #
50
+ # @return [Faraday::Connection]
20
51
  def connection
21
52
  @connection ||= Faraday.new(params: default_params) do |conn|
22
53
  conn.url_prefix = BASE_URL
@@ -0,0 +1,4 @@
1
+ module Versafleet
2
+ class Driver < Object
3
+ end
4
+ end
@@ -0,0 +1,67 @@
1
+ module Versafleet
2
+ class DriversResource < Resource
3
+ # List All Drivers
4
+ #
5
+ # == Examples:
6
+ #
7
+ # client.drivers.list
8
+ # # set per page to 20
9
+ # client.drivers.list(per_page: 20)
10
+ # # move to page 2
11
+ # client.drivers.list(page: 2, per_page: 20)
12
+ #
13
+ # {https://versafleet.docs.apiary.io/#reference/0/drivers-api/list-all-drivers VersaFleet API}
14
+ #
15
+ # @param params [Hash] the filter query
16
+ # @return [Collection]
17
+ def list(**params)
18
+ response = get_request("drivers", params: params)
19
+ Collection.from_response(response, key: "drivers", type: Driver)
20
+ end
21
+
22
+ # Get Driver details
23
+ #
24
+ # == Examples:
25
+ #
26
+ # client.drivers.retrieve(driver_id: 123)
27
+ #
28
+ # {https://versafleet.docs.apiary.io/#reference/0/drivers-api/show-a-driver VersaFleet API}
29
+ #
30
+ # @param driver_id [Integer] Driver ID
31
+ # @return [Driver]
32
+ def retrieve(driver_id:)
33
+ Driver.new get_request("drivers/#{driver_id}").body.dig("driver")
34
+ end
35
+
36
+ # Create a Driver
37
+ #
38
+ # == Examples:
39
+ #
40
+ # client.drivers.create(driver: {name: "Yolo", dob: "1990-09-09"})
41
+ #
42
+ # {https://versafleet.docs.apiary.io/#reference/0/drivers-api/create-a-driver VersaFleet API}
43
+ #
44
+ # @param driver [Hash] Driver request payload
45
+ # @return [Driver]
46
+ def create(driver:)
47
+ payload = {driver: driver}
48
+ Driver.new post_request("drivers", body: payload).body.dig("driver")
49
+ end
50
+
51
+ # Update Driver
52
+ #
53
+ # == Examples:
54
+ #
55
+ # client.drivers.update(driver_id: 123, driver: {name: "John"})
56
+ #
57
+ # {https://versafleet.docs.apiary.io/#reference/0/drivers-api/update-a-driver VersaFleet API}
58
+ #
59
+ # @param driver_id [Integer] Driver ID
60
+ # @param driver [Hash] Driver request payload
61
+ # @return [Driver]
62
+ def update(driver_id:, driver:)
63
+ payload = {driver: driver}
64
+ Driver.new put_request("drivers/#{driver_id}", body: payload).body.dig("driver")
65
+ end
66
+ end
67
+ end
@@ -1,26 +1,95 @@
1
1
  module Versafleet
2
2
  class JobsResource < Resource
3
+ # List All Jobs
4
+ #
5
+ # == Examples:
6
+ #
7
+ # client.jobs.list
8
+ # # set per page to 20
9
+ # client.jobs.list(per_page: 20)
10
+ # # move to page 2
11
+ # client.jobs.list(page: 2, per_page: 20)
12
+ # # filter by Customer ID
13
+ # client.jobs.list(customer_id: 1231)
14
+ #
15
+ # {https://versafleet.docs.apiary.io/#reference/0/jobs-v2-api/list-all-jobs VersaFleet API}
16
+ #
17
+ # @param params [Hash] the filter query
18
+ # @return [Collection]
3
19
  def list(**params)
4
20
  response = get_request("v2/jobs", params: params)
5
21
  Collection.from_response(response, key: "jobs", type: Job)
6
22
  end
7
23
 
24
+ # Create a Job
25
+ #
26
+ # == Examples:
27
+ #
28
+ # # see the VersaFleet API for the request body reference
29
+ # client.jobs.create(job: {})
30
+ #
31
+ # {https://versafleet.docs.apiary.io/#reference/0/jobs-v2-api/create-a-new-job VersaFleet API}
32
+ #
33
+ # @param attributes [Hash] Request body
34
+ # @return [Job]
8
35
  def create(**attributes)
9
36
  Job.new post_request("v2/jobs", body: attributes).body.dig("job")
10
37
  end
11
38
 
39
+ # Update Job
40
+ #
41
+ # == Examples:
42
+ #
43
+ # # see the VersaFleet API for the request body reference
44
+ # client.jobs.update(job_id: 123, job: {})
45
+ #
46
+ # {https://versafleet.docs.apiary.io/#reference/0/jobs-v2-api/update-job-or-base-task-details VersaFleet API}
47
+ #
48
+ # @param job_id [Integer] Job ID
49
+ # @param attributes [Hash] Request body
50
+ # @return [Job]
12
51
  def update(job_id:, **attributes)
13
52
  Job.new put_request("v2/jobs/#{job_id}", body: attributes).body.dig("job")
14
53
  end
15
54
 
55
+ # Get Job details
56
+ #
57
+ # == Examples:
58
+ #
59
+ # client.jobs.retrieve(job_id: 123)
60
+ #
61
+ # {https://versafleet.docs.apiary.io/#reference/0/jobs-v2-api/view-details-of-a-job VersaFleet API}
62
+ #
63
+ # @param job_id [Integer] Job ID
64
+ # @return [Job]
16
65
  def retrieve(job_id:)
17
66
  Job.new get_request("v2/jobs/#{job_id}").body.dig("job")
18
67
  end
19
68
 
69
+ # Cancel a Job
70
+ #
71
+ # == Examples:
72
+ #
73
+ # client.jobs.cancel(job_id: 123)
74
+ #
75
+ # {https://versafleet.docs.apiary.io/#reference/0/jobs-v2-api/cancel-a-job VersaFleet API}
76
+ #
77
+ # @param job_id [Integer] Job ID
20
78
  def cancel(job_id:)
79
+ # TODO: Remove Job object return
21
80
  Job.new put_request("v2/jobs/#{job_id}/cancel", body: {}).body
22
81
  end
23
82
 
83
+ # List Tasks of Job
84
+ #
85
+ # == Examples:
86
+ #
87
+ # client.jobs.list_tasks(job_id: 123)
88
+ #
89
+ # {https://versafleet.docs.apiary.io/#reference/0/jobs-v2-api/list-tasks-of-job VersaFleet API}
90
+ #
91
+ # @param job_id [Integer] Job ID
92
+ # @return [Collection]
24
93
  def list_tasks(job_id:)
25
94
  response = get_request("v2/jobs/#{job_id}/tasks")
26
95
  Collection.from_response(response, key: "tasks", type: Task)
@@ -1,86 +1,280 @@
1
1
  module Versafleet
2
2
  class TasksResource < Resource
3
+ # List All Tasks
4
+ #
5
+ # == Examples:
6
+ #
7
+ # client.tasks.list
8
+ # # set per page to 20
9
+ # client.tasks.list(per_page: 20)
10
+ # # set specific date
11
+ # client.tasks.list(date: "2021-01-01")
12
+ #
13
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/list-all-tasks VersaFleet API}
14
+ #
15
+ # @param params [Hash] the filter query
16
+ # @return [Collection]
3
17
  def list(**params)
4
18
  response = get_request("tasks", params: params)
5
19
  Collection.from_response(response, key: "tasks", type: Task)
6
20
  end
7
21
 
22
+ # List All Tasks by State
23
+ #
24
+ # == Examples:
25
+ #
26
+ # client.tasks.list_by_state
27
+ # # tasks by state
28
+ # client.tasks.list_by_state(state: "completed")
29
+ #
30
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/list-all-tasks-by-state VersaFleet API}
31
+ #
32
+ # @param params [Hash] the filter query
33
+ # @return [Collection]
8
34
  def list_by_state(**params)
9
35
  response = get_request("tasks/by_state", params: params)
10
36
  Collection.from_response(response, key: "tasks", type: Task)
11
37
  end
12
38
 
39
+ # Get Task details
40
+ #
41
+ # == Examples:
42
+ #
43
+ # client.tasks.retrieve(task_id: 123)
44
+ #
45
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/view-details-of-a-task VersaFleet API}
46
+ #
47
+ # @param task_id [Integer] Task ID
48
+ # @return [Task]
13
49
  def retrieve(task_id:)
14
50
  Task.new get_request("tasks/#{task_id}").body.dig("task")
15
51
  end
16
52
 
53
+ # Get Task details by Tracking ID
54
+ #
55
+ # == Examples:
56
+ #
57
+ # client.tasks.retrieve_by_tracking_id(tracking_id: "1234567891100")
58
+ #
59
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/view-limited-task-details-from-tracking-id VersaFleet API}
60
+ #
61
+ # @param tracking_id [String] Tracking ID
62
+ # @return [Task]
17
63
  def retrieve_by_tracking_id(tracking_id:)
18
64
  Task.new post_request("tasks/#{tracking_id}/track", body: {}).body.dig("task")
19
65
  end
20
66
 
67
+ # Update Task
68
+ #
69
+ # == Examples:
70
+ #
71
+ # client.tasks.update(task_id: 123, task_attributes: {})
72
+ #
73
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/update-a-task-detail VersaFleet API}
74
+ #
75
+ # @param task_id [Integer] Task ID
76
+ # @param task_attributes [Hash] Task request payload
77
+ # @return [Task]
21
78
  def update(task_id:, task_attributes:)
22
79
  payload = {task_attributes: task_attributes}
23
80
  Task.new put_request("tasks/#{task_id}", body: payload).body.dig("task")
24
81
  end
25
82
 
26
- # TODO: Add support for allocate_id
83
+ # Add Task to Job
84
+ #
85
+ # == Examples:
86
+ #
87
+ # client.tasks.create(task_attributes: {})
88
+ #
89
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/add-a-new-task-to-a-job VersaFleet API}
90
+ #
91
+ # @param task_attributes [Hash] Task request payload
92
+ # @return [Task]
27
93
  def create(task_attributes:)
94
+ # TODO: Add support for allocate_id
28
95
  payload = {task_attributes: task_attributes}
29
96
  Task.new post_request("tasks", body: payload).body.dig("task")
30
97
  end
31
98
 
99
+ # Assign a Driver to Task
100
+ #
101
+ # == Examples:
102
+ #
103
+ # client.tasks.assign(task_id: 123, task: {driver_id: 12, vehicle_id: 3, remarks: "Notes"})
104
+ #
105
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/assign-a-driver-to-a-task VersaFleet API}
106
+ #
107
+ # @param task_id [Integer] Task ID
108
+ # @param task [Hash] Driver and Vehicle details
109
+ # @return [Task]
32
110
  def assign(task_id:, task:)
33
111
  payload = {task: task}
34
112
  Task.new put_request("tasks/#{task_id}/assign", body: payload).body.dig("task")
35
113
  end
36
114
 
115
+ # Assign a Driver to Multiple Tasks
116
+ #
117
+ # == Examples:
118
+ #
119
+ # client.tasks.assign_multiple(task: {ids: [12,21], driver_id: 11, vehicle_id: 2, remarks: "Notes"})
120
+ #
121
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/assign-a-driver-to-multiple-tasks VersaFleet API}
122
+ #
123
+ # @param task [Hash] Task IDs, Driver and Vehicle details
37
124
  def assign_multiple(task:)
38
125
  payload = {task: task}
39
126
  put_request("tasks/assign", body: payload).body
40
127
  end
41
128
 
129
+ # Unssign a Driver from Task
130
+ #
131
+ # == Examples:
132
+ #
133
+ # client.tasks.unassign(task_id: 123)
134
+ #
135
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/unassign-a-driver-from-a-task VersaFleet API}
136
+ #
137
+ # @param task_id [Integer] Task ID
138
+ # @return [Task]
42
139
  def unassign(task_id:)
43
140
  Task.new put_request("tasks/#{task_id}/unassign", body: {}).body.dig("task")
44
141
  end
45
142
 
143
+ # Unsssign a Driver from Multiple Tasks
144
+ #
145
+ # == Examples:
146
+ #
147
+ # client.tasks.unassign_multiple(task: {ids: [123,213]})
148
+ #
149
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/unassign-a-driver-from-multiple-tasks VersaFleet API}
150
+ #
151
+ # @param task [Hash] Task IDs
46
152
  def unassign_multiple(task:)
47
153
  payload = {task: task}
48
154
  put_request("tasks/unassign", body: payload).body
49
155
  end
50
156
 
157
+ # Cancel a Task
158
+ #
159
+ # == Examples:
160
+ #
161
+ # client.tasks.cancel(task_id: 123)
162
+ #
163
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/cancel-a-task VersaFleet API}
164
+ #
165
+ # @param task_id [Integer] Task ID
51
166
  def cancel(task_id:)
52
167
  put_request("tasks/#{task_id}/cancel", body: {}).body
53
168
  end
54
169
 
170
+ # Complete a Task
171
+ #
172
+ # == Examples:
173
+ #
174
+ # client.tasks.complete(task_id: 123)
175
+ #
176
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/complete-/-succeed-a-task VersaFleet API}
177
+ #
178
+ # @param task_id [Integer] Task ID
55
179
  def complete(task_id:)
56
180
  put_request("tasks/#{task_id}/set_successful", body: {}).body
57
181
  end
58
182
 
183
+ # Incomplete a Task
184
+ #
185
+ # == Examples:
186
+ #
187
+ # client.tasks.incomplete(task_id: 123)
188
+ #
189
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/incomplete-/-fail-a-task VersaFleet API}
190
+ #
191
+ # @param task_id [Integer] Task ID
59
192
  def incomplete(task_id:)
60
193
  put_request("tasks/#{task_id}/set_failed", body: {}).body
61
194
  end
62
195
 
196
+ # Set a Task State
197
+ #
198
+ # == Examples:
199
+ #
200
+ # client.tasks.set_state(task_id: 123, to_state: "waiting_for_acknowledgement")
201
+ #
202
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/set-a-task-state VersaFleet API}
203
+ #
204
+ # @param task_id [Integer] Task ID
205
+ # @param to_state [String] Task state
63
206
  def set_state(task_id:, to_state:)
64
207
  payload = {to_state: to_state}
65
208
  put_request("tasks/#{task_id}/state", body: payload).body
66
209
  end
67
210
 
211
+ # Archive a Task
212
+ #
213
+ # == Examples:
214
+ #
215
+ # client.tasks.archive(task_id: 123)
216
+ #
217
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/archive-a-task VersaFleet API}
218
+ #
219
+ # @param task_id [Integer] Task ID
220
+ # @return [Task]
68
221
  def archive(task_id:)
69
222
  Task.new put_request("tasks/#{task_id}/archive", body: {}).body.dig("task")
70
223
  end
71
224
 
225
+ # Unarchive a Task
226
+ #
227
+ # == Examples:
228
+ #
229
+ # client.tasks.unarchive(task_id: 123)
230
+ #
231
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/unarchive-a-task VersaFleet API}
232
+ #
233
+ # @param task_id [Integer] Task ID
234
+ # @return [Task]
72
235
  def unarchive(task_id:)
73
236
  Task.new put_request("tasks/#{task_id}/unarchive", body: {}).body.dig("task")
74
237
  end
75
238
 
239
+ # View Task Completion Histories of a Task
240
+ #
241
+ # == Examples:
242
+ #
243
+ # client.tasks.completion_histories(task_id: 123)
244
+ #
245
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/view-task-completion-histories-of-a-task VersaFleet API}
246
+ #
247
+ # @param task_id [Integer] Task ID
248
+ # @return [Task]
76
249
  def completion_histories(task_id:)
77
250
  Task.new get_request("tasks/#{task_id}/task_completion_histories").body
78
251
  end
79
252
 
253
+ # View Base Task Completion Histories of a Task
254
+ #
255
+ # == Examples:
256
+ #
257
+ # client.tasks.base_completion_histories(task_id: 123)
258
+ #
259
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/view-base-task-completion-histories-of-a-task VersaFleet API}
260
+ #
261
+ # @param task_id [Integer] Task ID
262
+ # @return [Task]
80
263
  def base_completion_histories(task_id:)
81
264
  Task.new get_request("tasks/#{task_id}/base_task_completion_histories").body
82
265
  end
83
266
 
267
+ # Allocate a Task
268
+ #
269
+ # == Examples:
270
+ #
271
+ # client.tasks.allocate(task_id: 123, sub_account_id: 211)
272
+ #
273
+ # {https://versafleet.docs.apiary.io/#reference/0/tasks-api/allocate-a-task VersaFleet API}
274
+ #
275
+ # @param task_id [Integer] Task ID
276
+ # @param sub_account_id [Integer] Transporter ID
277
+ # @return [Task]
84
278
  def allocate(task_id:, sub_account_id:)
85
279
  payload = {task: {allocatee_id: sub_account_id}}
86
280
  Task.new put_request("tasks/#{task_id}/allocate", body: payload).body.dig("task")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Versafleet
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
data/lib/versafleet.rb CHANGED
@@ -12,8 +12,10 @@ module Versafleet
12
12
  # Resources (like high level API endpoints)
13
13
  autoload :JobsResource, "versafleet/resources/jobs"
14
14
  autoload :TasksResource, "versafleet/resources/tasks"
15
+ autoload :DriversResource, "versafleet/resources/drivers"
15
16
 
16
17
  # Classes used to return a nicer object wrapping the response data
17
18
  autoload :Job, "versafleet/objects/job"
18
19
  autoload :Task, "versafleet/objects/task"
20
+ autoload :Driver, "versafleet/objects/driver"
19
21
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: versafleet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maful Prayoga A
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-13 00:00:00.000000000 Z
11
+ date: 2021-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -38,14 +38,13 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.1'
41
- description:
41
+ description:
42
42
  email:
43
43
  - mafulprayoga@gmail.com
44
44
  executables: []
45
45
  extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
- - ".github/workflows/release.yml"
49
48
  - ".github/workflows/test.yml"
50
49
  - ".gitignore"
51
50
  - CODE_OF_CONDUCT.md
@@ -60,9 +59,11 @@ files:
60
59
  - lib/versafleet/collection.rb
61
60
  - lib/versafleet/error.rb
62
61
  - lib/versafleet/object.rb
62
+ - lib/versafleet/objects/driver.rb
63
63
  - lib/versafleet/objects/job.rb
64
64
  - lib/versafleet/objects/task.rb
65
65
  - lib/versafleet/resource.rb
66
+ - lib/versafleet/resources/drivers.rb
66
67
  - lib/versafleet/resources/jobs.rb
67
68
  - lib/versafleet/resources/tasks.rb
68
69
  - lib/versafleet/version.rb
@@ -75,7 +76,7 @@ metadata:
75
76
  bug_tracker_uri: https://github.com/maful/versafleet-ruby/issues
76
77
  source_code_uri: https://github.com/maful/versafleet-ruby
77
78
  github_repo: https://github.com/maful/versafleet-ruby
78
- post_install_message:
79
+ post_install_message:
79
80
  rdoc_options: []
80
81
  require_paths:
81
82
  - lib
@@ -91,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
92
  version: '0'
92
93
  requirements: []
93
94
  rubygems_version: 3.2.22
94
- signing_key:
95
+ signing_key:
95
96
  specification_version: 4
96
97
  summary: Ruby bindings for the VersaFleet API
97
98
  test_files: []
@@ -1,41 +0,0 @@
1
- name: Build + Release
2
-
3
- on:
4
- push:
5
- tags:
6
- - "v*.*.*"
7
-
8
- jobs:
9
- build:
10
- runs-on: ubuntu-20.04
11
-
12
- strategy:
13
- matrix:
14
- ruby: ["2.5", "2.6", "2.7", "3.0"]
15
-
16
- steps:
17
- - uses: actions/checkout@v2
18
-
19
- - name: Set up Ruby
20
- uses: ruby/setup-ruby@v1
21
- with:
22
- ruby-version: ${{ matrix.ruby }}
23
- bundler-cache: true
24
-
25
- - name: StandardRb check
26
- run: bundle exec standardrb
27
-
28
- - name: Run tests
29
- run: |
30
- bundle exec rake test
31
-
32
- - name: Publish to RubyGems
33
- run: |
34
- mkdir -p $HOME/.gem
35
- touch $HOME/.gem/credentials
36
- chmod 0600 $HOME/.gem/credentials
37
- printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
38
- gem build *.gemspec
39
- gem push *.gem
40
- env:
41
- GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"