Class: Lyft::Client::Api::Rides

Inherits:
Base
  • Object
show all
Defined in:
lib/lyft/client/api/rides.rb

Instance Attribute Summary

Attributes inherited from Base

#configuration

Instance Method Summary collapse

Methods inherited from Base

#connection, #initialize

Constructor Details

This class inherits a constructor from Lyft::Client::Api::Base

Instance Method Details

#cancel(access_token:, params: {}) ⇒ Object

Cancel a ride request.

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :ride_id (String) — default: *required*
  • :cancel_confirmation_token (String)

See Also:



14
15
16
17
18
19
20
21
# File 'lib/lyft/client/api/rides.rb', line 14

def cancel(access_token:, params: {})
  ride_id = require_ride_id(params)
  resp = connection(access_token).post  do |req|
    req.url "/#{Api::VERSION}/rides/#{ride_id}/cancel"
    req.body = params
  end
  handle_response(resp)
end

#destination(access_token:, params: {}) ⇒ Object

Update the ride destination

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :ride_id (String) — default: *required*
  • :lat (Float) — default: *required*
  • :lng (Float) — default: *required*
  • :address (String)

See Also:



34
35
36
37
38
39
40
41
# File 'lib/lyft/client/api/rides.rb', line 34

def destination(access_token:, params: {})
  ride_id = require_ride_id(params)
  resp = connection(access_token).put do |req|
    req.url "/#{Api::VERSION}/rides/#{ride_id}/destination"
    req.body = params
  end
  handle_response(resp)
end

#details(access_token:, params: {}) ⇒ Object

Get details of a ride.

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :ride_id (String)

    The ride id. (required)

See Also:



51
52
53
54
55
56
57
58
# File 'lib/lyft/client/api/rides.rb', line 51

def details(access_token:, params: {})
  ride_id = require_ride_id(params)
  resp = connection(access_token).get do |req|
    req.url "/#{Api::VERSION}/rides/#{ride_id}"
    req.body = params
  end
  handle_response(resp)
end

#rate(access_token:, params: {}) ⇒ Object Also known as: tip

Rate a ride and/or provide a tip.

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :ride_id (String) — default: *required*
  • :rating (Integer)

    Rating should be between 1 and 5 inclusive. (required)

  • :tip (Hash)

    The tip should include :amount and :currency.

  • :feedback (String)

See Also:



71
72
73
74
75
76
77
78
# File 'lib/lyft/client/api/rides.rb', line 71

def rate(access_token:, params: {})
  ride_id = require_ride_id(params)
  resp = connection(access_token).put do |req|
    req.url "/#{Api::VERSION}/rides/#{ride_id}/rating"
    req.body = params
  end
  handle_response(resp)
end

#receipt(access_token:, params: {}) ⇒ Object

Get receipt for ride

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :ride_id (String) — default: *required*

See Also:



89
90
91
92
93
94
95
96
# File 'lib/lyft/client/api/rides.rb', line 89

def receipt(access_token:, params: {})
  ride_id = require_ride_id(params)
  resp = connection(access_token).get do |req|
    req.url "/#{Api::VERSION}/rides/#{ride_id}/receipt"
    req.params = params
  end
  handle_response(resp)
end

#request(access_token:, params: {}) ⇒ Object

Request a ride.

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :origin (Hash)

    The origin should contain :lat and :lng

  • :destination (Hash)

    The destination should contain :lat and :lng.

  • :ride_type (String)
  • :primetime_confirmation_token (String)

See Also:



109
110
111
112
113
114
115
# File 'lib/lyft/client/api/rides.rb', line 109

def request(access_token:, params: {})
  resp = connection(access_token).post do |req|
    req.url "/#{Api::VERSION}/rides"
    req.body = params
  end
  handle_response(resp)
end

#set_driver_availability(access_token:, params: {}) ⇒ Object

Set driver availability for a ride type in an area.

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :ride_type (String) — default: *required*
  • :lat (Float) — default: *required*
  • :lng (Float) — default: *required*
  • :driver_availability (Boolean)

Raises:

  • (RuntimeError)

    Raises if not in sandbox mode.

  • (ArgumentError)

    Raises if invalid ride type.



196
197
198
199
200
201
202
203
204
# File 'lib/lyft/client/api/rides.rb', line 196

def set_driver_availability(access_token:, params: {})
  validate_sandboxed
  ride_type = require_ride_type(params)
  resp = connection(access_token).put do |req|
    req.url "/#{Api::VERSION}/sandbox/ridetypes/#{ride_type}"
    req.body = params
  end
  handle_response(resp)
end

#set_primetime(access_token:, params: {}) ⇒ Object

Set the primetime percentage in area

Examples:

Set the prime time percentage.

client.rides.set_primetime(
  access_token: 'my_token',
  lat: 37.7833,
  lng: -122.4167,
  primetime_percentage: '25%'
)

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :lat (Float) — default: *required*
  • :lng (Float) — default: *required*
  • :primetime_percentage (String)

Raises:

  • (RuntimeError)

    Raises if not in sandbox mode.



174
175
176
177
178
179
180
181
# File 'lib/lyft/client/api/rides.rb', line 174

def set_primetime(access_token:, params: {})
  validate_sandboxed
  resp = connection(access_token).put do |req|
    req.url "/#{Api::VERSION}/sandbox/primetime"
    req.body = params
  end
  handle_response(resp)
end

#set_ridetypes(access_token:, params: {}) ⇒ Object

Preset the ridetypes in area.

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :lat (Float) — default: *required*
  • :lng (Float) — default: *required*
  • :ride_types (Array<String>)

    The ride types to make available. Accepted values are ‘lyft’, ‘lyft_line’, ‘lyft_plus’, and ‘lyft_suv’.

Raises:

  • (RuntimeError)

    Raises if not in sandbox mode.



128
129
130
131
132
133
134
135
# File 'lib/lyft/client/api/rides.rb', line 128

def set_ridetypes(access_token:, params: {})
  validate_sandboxed
  resp = connection(access_token).put do |req|
    req.url "/#{Api::VERSION}/sandbox/ridetypes"
    req.body = params
  end
  handle_response(resp)
end

#set_status(access_token:, params: {}) ⇒ Object

Propogate ride through different states.

Parameters:

  • access_token (String)

    The access_token (required)

  • params (Hash) (defaults to: {})

    The lyft parameters.

Options Hash (params:):

  • :ride_id (String) — default: *required*
  • :status (String)

    The status of the ride

Raises:

  • (RuntimeError)

    Raises if not in sandbox mode.



146
147
148
149
150
151
152
153
154
# File 'lib/lyft/client/api/rides.rb', line 146

def set_status(access_token:, params: {})
  validate_sandboxed
  ride_id = require_ride_id(params)
  resp = connection(access_token).put do |req|
    req.url "/#{Api::VERSION}/sandbox/rides/#{ride_id}"
    req.body = params
  end
  handle_response(resp)
end