uber-ruby 0.9.0 → 0.10.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 +5 -13
- data/README.md +121 -0
- data/lib/uber/api.rb +1 -0
- data/lib/uber/api/deliveries.rb +60 -0
- data/lib/uber/api_request.rb +6 -1
- data/lib/uber/client.rb +13 -0
- data/lib/uber/models/delivery.rb +6 -0
- data/lib/uber/models/delivery/delivery.rb +13 -0
- data/lib/uber/models/delivery/quote.rb +16 -0
- data/lib/uber/models/delivery/rating.rb +7 -0
- data/lib/uber/models/delivery/rating_tag.rb +7 -0
- data/lib/uber/models/delivery/receipt.rb +7 -0
- data/lib/uber/models/delivery/region.rb +7 -0
- data/lib/uber/utils.rb +8 -0
- data/lib/uber/version.rb +1 -1
- data/uber-ruby.gemspec +1 -1
- metadata +27 -19
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
YzU0ZjU2YmQzNjEzNjYxZTJhYTM5NzQ5YjVhNGIzNTBiNWI4MTIxMA==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: afcf13093d0201d8e6aa5184b284a855f26444f2
|
4
|
+
data.tar.gz: 579ce6c5fa4105bf687252d246183717757379aa
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ZDQxNjhjMmVmNGI1ZTYwMmQxNGI3MDAzMDdlM2ZhNWUzZGFlMGI3ZjZiMDEx
|
11
|
-
NzQ1MTUyNWNlODRiY2QxOWIyNmQ3YzY3NDQ5ODBiZTk3OWRiNjI=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MGI0Yjg2ZDlhYjkzZTgyOGU2ZjcxMDJhNTZmNTdlNTU5NDJhNzU5ZDYwMDg5
|
14
|
-
ZGVhMDUyYzE0OTg5ZWZjYTJhMTU4NTM1YjE5ZGNhYWU0YjAyY2I1MTRkYmYz
|
15
|
-
ZmM2NWI0YzdkYzcxYzM5MTEyNTgxZmY5MTAzZDVhNjNiMDg4ZTk=
|
6
|
+
metadata.gz: d952ae18bf90371fa49e9810859bc44fea3d0421de5372c1bf80f455f543fbb3665eb0ae5941065df33c095d52926e85e1d40a33bbea03cd41029239e0639fb3
|
7
|
+
data.tar.gz: b1b9d1ec5e85eee3f5ac9ea666cacb130449c1127e7157a9277e66ff3ee050837da574996647787b6fa171e21ef1797023227ea5caaee34a106526a81d90d8ed
|
data/README.md
CHANGED
@@ -327,7 +327,128 @@ trip.duration #=> 0
|
|
327
327
|
```
|
328
328
|
More details can be found [here](https://developer.uber.com/docs/drivers/references/api/v1/partners-trips-get).
|
329
329
|
|
330
|
+
## Deliveries API
|
331
|
+
[Deliveries API]() lets you and your customer track the exact location of your delivery from any device.
|
332
|
+
> OAuth 2.0 bearer token with the delivery scope
|
330
333
|
|
334
|
+
We provide this under namespace of `client.deliveries`. Besides OAuth, you can get bearer token with `delivery` scope via __client_credentials__ workflow, follow this [guide](https://developer.uber.com/docs/deliveries/guides/authentication#client-credentials-flow).
|
335
|
+
|
336
|
+
```ruby
|
337
|
+
client = Uber::Client.new do |config|
|
338
|
+
config.server_token = "YOUR_SERVER_TOKEN"
|
339
|
+
config.client_id = "YOUR_CLIENT_ID"
|
340
|
+
config.client_secret = "YOUR_CLIENT_SECRET"
|
341
|
+
config.bearer_token = "USER_ACCESS_TOKEN"
|
342
|
+
end
|
343
|
+
```
|
344
|
+
|
345
|
+
|
346
|
+
### List deliveries
|
347
|
+
It retrieves a list of all deliveries
|
348
|
+
|
349
|
+
|
350
|
+
```ruby
|
351
|
+
deliveries = client.deliveries.list #=> Array of Uber::Delivery::Delivery
|
352
|
+
```
|
353
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-get)
|
354
|
+
|
355
|
+
### Create a delivery
|
356
|
+
It allows a delivery to be requested given the delivery information and quote ID
|
357
|
+
|
358
|
+
```ruby
|
359
|
+
delivery = client.deliveries.add_delivery({quote_id: 'KEBjNGUxNjhlZmNmMD...', .. })
|
360
|
+
delivery.quote_id #=> 'KEBjNGUxNjhlZmNmMD...'
|
361
|
+
```
|
362
|
+
More details and parameters can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-post)
|
363
|
+
|
364
|
+
### Create delivery quote
|
365
|
+
Generate a delivery quote, given a pickup and dropoff location. On-demand and scheduled delivery quotes will be returned.
|
366
|
+
|
367
|
+
```ruby
|
368
|
+
quotes = client.deliveries.add_quote({ "pickup" => { "location" => { ... } },
|
369
|
+
"dropoff" => { "location" => { ... } } )
|
370
|
+
# returns array of Uber::Delivery::Quote containing all On-demand and scheduled delivery quotes
|
371
|
+
quotes.size #=> 4
|
372
|
+
quotes[0].fee #=> 5.42
|
373
|
+
```
|
374
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-quote-post)
|
375
|
+
|
376
|
+
### Retrieve a delivery information
|
377
|
+
Get the status of an ongoing delivery
|
378
|
+
|
379
|
+
```ruby
|
380
|
+
delivery = client.deliveries.retrieve('8b58bc58-7352-4278-b569-b5d24d8e3f76') #=> Uber::Delivery::Delivery
|
381
|
+
delivery.currency_code #=> "USD"
|
382
|
+
delivery.delivery_id #=> '8b58bc58-7352-4278-b569-b5d24d8e3f76'
|
383
|
+
delivery.fee #=> 5.0
|
384
|
+
```
|
385
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-delivery_id-get)
|
386
|
+
|
387
|
+
### Retrieve receipt for a delivery
|
388
|
+
```ruby
|
389
|
+
receipt = client.deliveries.receipt('8b58bc58-7352-4278-b569-b5d24d8e3f76') #=> Uber::Delivery::Receipt
|
390
|
+
receipt.delivery_id #=> '8b58bc58-7352-4278-b569-b5d24d8e3f76'
|
391
|
+
receipt.total_fee #=> 6.17
|
392
|
+
receipt.charges #=> hash of charges
|
393
|
+
```
|
394
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-delivery_id-receipt-get)
|
395
|
+
|
396
|
+
### Get delivery ratings
|
397
|
+
Retrieve the available ratings for a delivery.
|
398
|
+
|
399
|
+
```ruby
|
400
|
+
ratings = client.deliveries.ratings('8b58bc58-7352-4278-b569-b5d24d8e3f76')
|
401
|
+
# Array of Uber::Delivery::Rating
|
402
|
+
ratings.size #=> 2
|
403
|
+
ratings[0].waypoint #=> 'pickup'
|
404
|
+
```
|
405
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-delivery_id-ratings-get)
|
406
|
+
|
407
|
+
### Submit a rating
|
408
|
+
Submit a rating for a delivery.
|
409
|
+
|
410
|
+
```ruby
|
411
|
+
status = client.deliveries.add_rating('8b58bc58-7352-4278-b569-b5d24d8e3f76',
|
412
|
+
{"waypoint"=>"dropoff",
|
413
|
+
"rating_type"=>"binary",
|
414
|
+
"rating_value"=>0,
|
415
|
+
"tags"=>["courier_not_on_time", "delivery_in_good_condition"],
|
416
|
+
"comments"=>"Courier was not professionally dressed."})
|
417
|
+
# Returns the status code, with no content
|
418
|
+
status #=> 204
|
419
|
+
```
|
420
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-delivery_id-ratings-post)
|
421
|
+
|
422
|
+
### Get rating tags
|
423
|
+
Retrieve the available rating tags for a delivery
|
424
|
+
|
425
|
+
```ruby
|
426
|
+
tags = client.deliveries.rating_tags('8b58bc58-7352-4278-b569-b5d24d8e3f76')
|
427
|
+
# Array of Uber::Deliery::RatingTag
|
428
|
+
tags.size #=> 2
|
429
|
+
tags[0].waypoint #=> 'pickup'
|
430
|
+
tags.tags #=> Array of rating tags for delivery
|
431
|
+
```
|
432
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-delivery_id-rating_tags-get)
|
433
|
+
|
434
|
+
### Cancel a delivery
|
435
|
+
Cancel an existing delivery.
|
436
|
+
|
437
|
+
```ruby
|
438
|
+
status = client.deliveries.cancel('8b58bc58-7352-4278-b569-b5d24d8e3f76')
|
439
|
+
status #=> 204
|
440
|
+
```
|
441
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-delivery_id-cancel-post)
|
442
|
+
|
443
|
+
### Get service regions
|
444
|
+
Returns all regions where UberRUSH is available.
|
445
|
+
|
446
|
+
```ruby
|
447
|
+
regions = client.deliveries.regions
|
448
|
+
# Array of Uber::Delivery::Region
|
449
|
+
regions[0].city #=> 'San Francisco'
|
450
|
+
```
|
451
|
+
More details can be found [here](https://developer.uber.com/docs/deliveries/references/api/v1/deliveries-regions-get)
|
331
452
|
|
332
453
|
## Contributors
|
333
454
|
|
data/lib/uber/api.rb
CHANGED
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'uber/arguments'
|
2
|
+
require 'uber/api_request'
|
3
|
+
require 'uber/models/delivery'
|
4
|
+
|
5
|
+
module Uber
|
6
|
+
module API
|
7
|
+
module Deliveries
|
8
|
+
include Uber::Utils
|
9
|
+
|
10
|
+
def list(*args)
|
11
|
+
arguments = Uber::Arguments.new(args)
|
12
|
+
perform_with_objects(:get, "/v1/deliveries", arguments.options, Delivery::Delivery, self.client)
|
13
|
+
end
|
14
|
+
|
15
|
+
def add_delivery(*args)
|
16
|
+
arguments = Uber::Arguments.new(args)
|
17
|
+
perform_with_object(:post, "/v1/deliveries", arguments.options, Delivery::Delivery, self.client)
|
18
|
+
end
|
19
|
+
|
20
|
+
def add_quote(*args)
|
21
|
+
arguments = Uber::Arguments.new(args)
|
22
|
+
perform_with_objects(:post, "/v1/deliveries/quote", arguments.options, Delivery::Quote, self.client)
|
23
|
+
end
|
24
|
+
|
25
|
+
def retrieve(delivery_id)
|
26
|
+
perform_with_object(:get, "/v1/deliveries/#{delivery_id}", {}, Delivery::Delivery, self.client)
|
27
|
+
end
|
28
|
+
|
29
|
+
def receipt(delivery_id)
|
30
|
+
delivery_id = delivery_id.is_a?(Delivery::Delivery) ? delivery_id.delivery_id : delivery_id
|
31
|
+
perform_with_object(:get, "/v1/deliveries/#{delivery_id}/receipt", {}, Delivery::Receipt, self.client)
|
32
|
+
end
|
33
|
+
|
34
|
+
def ratings(delivery_id)
|
35
|
+
delivery_id = delivery_id.is_a?(Delivery::Delivery) ? delivery_id.delivery_id : delivery_id
|
36
|
+
perform_with_objects(:get, "/v1/deliveries/#{delivery_id}/ratings", {}, Delivery::Rating, self.client)
|
37
|
+
end
|
38
|
+
|
39
|
+
def add_rating(delivery_id, *args)
|
40
|
+
delivery_id = delivery_id.is_a?(Delivery::Delivery) ? delivery_id.delivery_id : delivery_id
|
41
|
+
arguments = Uber::Arguments.new(args)
|
42
|
+
perform_without_object(:post, "/v1/deliveries/#{delivery_id}/rating", arguments.options, self.client)
|
43
|
+
end
|
44
|
+
|
45
|
+
def rating_tags(delivery_id)
|
46
|
+
delivery_id = delivery_id.is_a?(Delivery::Delivery) ? delivery_id.delivery_id : delivery_id
|
47
|
+
perform_with_objects(:get, "/v1/deliveries/#{delivery_id}/rating_tags", {}, Delivery::RatingTag, self.client)
|
48
|
+
end
|
49
|
+
|
50
|
+
def cancel(delivery_id)
|
51
|
+
delivery_id = delivery_id.is_a?(Delivery::Delivery) ? delivery_id.delivery_id : delivery_id
|
52
|
+
perform_without_object(:post, "/v1/deliveries/#{delivery_id}/cancel", {}, self.client)
|
53
|
+
end
|
54
|
+
|
55
|
+
def regions
|
56
|
+
perform_with_objects(:get, "/v1/deliveries/regions", {}, Delivery::Region, self.client)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/lib/uber/api_request.rb
CHANGED
@@ -30,9 +30,14 @@ module Uber
|
|
30
30
|
# @param klass [Class]
|
31
31
|
# @return [Array]
|
32
32
|
def perform_with_objects(klass)
|
33
|
-
perform.values.
|
33
|
+
((perform.values.find { |v| v.is_a?(Array) }) || []).collect do |element|
|
34
34
|
klass.new(element)
|
35
35
|
end
|
36
36
|
end
|
37
|
+
|
38
|
+
# @return status_code [Integer]
|
39
|
+
def perform_without_object
|
40
|
+
@client.send(@request_method, @path, @options).status
|
41
|
+
end
|
37
42
|
end
|
38
43
|
end
|
data/lib/uber/client.rb
CHANGED
@@ -120,6 +120,10 @@ module Uber
|
|
120
120
|
def partners
|
121
121
|
@partners ||= Uber::Partner::Client.new self
|
122
122
|
end
|
123
|
+
|
124
|
+
def deliveries
|
125
|
+
@deliveries ||= Uber::Delivery::Client.new self
|
126
|
+
end
|
123
127
|
private
|
124
128
|
|
125
129
|
# Ensures that all credentials set during configuration are
|
@@ -180,5 +184,14 @@ module Uber
|
|
180
184
|
end
|
181
185
|
end
|
182
186
|
end
|
187
|
+
module Delivery
|
188
|
+
class Client
|
189
|
+
include Uber::API::Deliveries
|
190
|
+
attr_reader :client
|
191
|
+
def initialize(client)
|
192
|
+
@client = client
|
193
|
+
end
|
194
|
+
end
|
195
|
+
end
|
183
196
|
|
184
197
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Uber
|
2
|
+
module Delivery
|
3
|
+
class Delivery < Base
|
4
|
+
attr_accessor :courier, :created_at, :currency_code, :delivery_id,
|
5
|
+
:dropoff, :fee, :items, :order_reference_id, :pickup, :quote_id,
|
6
|
+
:status, :tracking_url, :batch
|
7
|
+
|
8
|
+
def created_at
|
9
|
+
@created_at && ::Time.at(@created_at)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Uber
|
2
|
+
module Delivery
|
3
|
+
class Quote < Base
|
4
|
+
attr_accessor :quote_id, :estimated_at, :expires_at, :fee, :currency_code,
|
5
|
+
:pickup_eta, :dropoff_eta
|
6
|
+
|
7
|
+
def estimated_at
|
8
|
+
@estimated_at && ::Time.at(@estimated_at)
|
9
|
+
end
|
10
|
+
|
11
|
+
def expires_at
|
12
|
+
@expires_at && ::Time.at(@expires_at)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
data/lib/uber/utils.rb
CHANGED
@@ -20,5 +20,13 @@ module Uber
|
|
20
20
|
request = Uber::ApiRequest.new(client, request_method, path, options)
|
21
21
|
request.perform_with_objects(klass)
|
22
22
|
end
|
23
|
+
|
24
|
+
# @param request_method [Symbol]
|
25
|
+
# @param path [String]
|
26
|
+
# @param options [Hash]
|
27
|
+
def perform_without_object(request_method, path, options, client=self)
|
28
|
+
request = Uber::ApiRequest.new(client, request_method, path, options)
|
29
|
+
request.perform_without_object
|
30
|
+
end
|
23
31
|
end
|
24
32
|
end
|
data/lib/uber/version.rb
CHANGED
data/uber-ruby.gemspec
CHANGED
metadata
CHANGED
@@ -1,99 +1,99 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uber-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dingding Ye
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.5'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.5'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: webmock
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 1.21.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.21.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 3.3.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 3.3.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: faraday
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 0.9.0
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 0.9.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: json
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '0'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- -
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '0'
|
97
97
|
description: A Ruby interface to the Uber API.
|
98
98
|
email:
|
99
99
|
- yedingding@gmail.com
|
@@ -107,6 +107,7 @@ files:
|
|
107
107
|
- lib/uber.rb
|
108
108
|
- lib/uber/api.rb
|
109
109
|
- lib/uber/api/activities.rb
|
110
|
+
- lib/uber/api/deliveries.rb
|
110
111
|
- lib/uber/api/me.rb
|
111
112
|
- lib/uber/api/partners.rb
|
112
113
|
- lib/uber/api/places.rb
|
@@ -122,6 +123,13 @@ files:
|
|
122
123
|
- lib/uber/client.rb
|
123
124
|
- lib/uber/error.rb
|
124
125
|
- lib/uber/models/activity.rb
|
126
|
+
- lib/uber/models/delivery.rb
|
127
|
+
- lib/uber/models/delivery/delivery.rb
|
128
|
+
- lib/uber/models/delivery/quote.rb
|
129
|
+
- lib/uber/models/delivery/rating.rb
|
130
|
+
- lib/uber/models/delivery/rating_tag.rb
|
131
|
+
- lib/uber/models/delivery/receipt.rb
|
132
|
+
- lib/uber/models/delivery/region.rb
|
125
133
|
- lib/uber/models/estimate.rb
|
126
134
|
- lib/uber/models/map.rb
|
127
135
|
- lib/uber/models/partner.rb
|
@@ -153,17 +161,17 @@ require_paths:
|
|
153
161
|
- lib
|
154
162
|
required_ruby_version: !ruby/object:Gem::Requirement
|
155
163
|
requirements:
|
156
|
-
- -
|
164
|
+
- - ">="
|
157
165
|
- !ruby/object:Gem::Version
|
158
166
|
version: '0'
|
159
167
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
160
168
|
requirements:
|
161
|
-
- -
|
169
|
+
- - ">="
|
162
170
|
- !ruby/object:Gem::Version
|
163
171
|
version: 1.3.5
|
164
172
|
requirements: []
|
165
173
|
rubyforge_project:
|
166
|
-
rubygems_version: 2.
|
174
|
+
rubygems_version: 2.6.13
|
167
175
|
signing_key:
|
168
176
|
specification_version: 4
|
169
177
|
summary: The Uber Ruby Gem.
|