Uber SDK for Ruby
A Ruby SDK for the Uber API
Status
Installation
Add this line to your application’s Gemfile:
ruby
gem "uber-sdk", require: "uber"
And then execute:
bash
$ bundle
Or install it yourself as:
bash
$ gem install uber-sdk
Configuration
ruby
client = Uber::Client.new do |config|
config.server_token = "YOUR_SERVER_TOKEN"
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"
end
Usage
Request Products
ruby
client = Uber::Client.new do |config|
config.server_token = "YOUR_SERVER_TOKEN"
end
client.products(latitude: lat, longitude: lon)
Request price estimations
ruby
client = Uber::Client.new do |config|
config.server_token = "YOUR_SERVER_TOKEN"
end
client.price_estimations(start_latitude: slat, start_longitude: slon,
end_latitude: dlat, end_longitude: dlon)
Request time estimations
ruby
client = Uber::Client.new do |config|
config.server_token = "YOUR_SERVER_TOKEN"
end
client.time_estimations(start_latitude: slat, start_longitude: slon)
Retrieve user info
ruby
client = Uber::Client.new do |config|
config.server_token = "YOUR_SERVER_TOKEN"
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"
config.bearer_token = "USER_ACCESS_TOKEN"
end
client.me
Retrieve user activities
ruby
client = Uber::Client.new do |config|
config.server_token = "YOUR_SERVER_TOKEN"
config.client_id = "YOUR_CLIENT_ID"
config.client_secret = "YOUR_CLIENT_SECRET"
config.bearer_token = "USER_ACCESS_TOKEN"
end
client.history
Request a ride
```ruby client = Uber::Client.new do |config| config.client_id = “YOUR_CLIENT_ID” config.client_secret = “YOUR_CLIENT_SECRET” config.bearer_token = “USER_ACCESS_TOKEN” end
client.trip_request(product_id: product_id, start_latitude: start_lat, start_longitude: start_lng, end_latitude: end_lat, end_longitude: end_lng) ```
Simulate a ride request with surge
```ruby client = Uber::Client.new do |config| config.client_id = “YOUR_CLIENT_ID” config.client_secret = “YOUR_CLIENT_SECRET” config.bearer_token = “USER_ACCESS_TOKEN” end
Only available in sandbox environment
# Use this to simulate a surge # More info here https://developer.uber.com/docs/sandbox#section-product-types client.apply_surge ‘product_id’, 2.0
client.trip_request(product_id: product_id, start_latitude: start_lat, start_longitude: start_lng, end_latitude: end_lat, end_longitude: end_lng, surge_confirmation_id: surge_id) ```
Simulate a ride request with no drivers available
```ruby client = Uber::Client.new do |config| config.client_id = “YOUR_CLIENT_ID” config.client_secret = “YOUR_CLIENT_SECRET” config.bearer_token = “USER_ACCESS_TOKEN” end
Only available in sandbox environment
# Use this to simulate a request with no drivers available # More info here https://developer.uber.com/docs/sandbox#section-product-types client.apply_availability ‘product_id’, false
client.trip_request(product_id: product_id, start_latitude: start_lat, start_longitude: start_lng, end_latitude: end_lat, end_longitude: end_lng) ```
Update the status of a ride request
```ruby client = Uber::Client.new do |config| config.client_id = “YOUR_CLIENT_ID” config.client_secret = “YOUR_CLIENT_SECRET” config.bearer_token = “USER_ACCESS_TOKEN” end
Only available in sandbox environment
# Use this to simulate the status change of a ride request # More info here https://developer.uber.com/docs/sandbox#section-request
client.trip_update(‘request_id’, ‘accepted’) ```
Retrieve a ride request details
```ruby client = Uber::Client.new do |config| config.client_id = “YOUR_CLIENT_ID” config.client_secret = “YOUR_CLIENT_SECRET” config.bearer_token = “USER_ACCESS_TOKEN” end
client.trip_details ‘request_id’ ```
Cancel a ride request
```ruby client = Uber::Client.new do |config| config.client_id = “YOUR_CLIENT_ID” config.client_secret = “YOUR_CLIENT_SECRET” config.bearer_token = “USER_ACCESS_TOKEN” end
client.trip_cancel ‘request_id’ ```
Contributing
- Fork it ( http://github.com/chrisenytc/uber-sdk/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request
License
Check here