diff --git a/lib/uber/models/request.rb b/lib/uber/models/request.rb index d43650c..54fa72e 100644 --- a/lib/uber/models/request.rb +++ b/lib/uber/models/request.rb @@ -1,6 +1,6 @@ module Uber class Request < Base - attr_accessor :request_id, :status, :vehicle, :driver, :location, :eta, :surge_multiplier, :meta, :errors + attr_accessor :request_id, :status, :vehicle, :driver, :location, :pickup, :destination, :eta, :surge_multiplier, :meta, :errors def driver=(value) @driver = value.nil? ? nil : Driver.new(value) @@ -14,6 +14,14 @@ def location=(value) @location = value.nil? ? nil : Location.new(value) end + def pickup=(value) + @pickup = value.nil? ? nil : Location.new(value) + end + + def destination=(value) + @destination = value.nil? ? nil : Location.new(value) + end + def errors=(values) @errors = values.map { |v| RequestError.new(v) } end @@ -50,6 +58,6 @@ class Vehicle < Base end class Location < Base - attr_accessor :latitude, :longitude, :bearing + attr_accessor :latitude, :longitude, :bearing, :eta end end diff --git a/spec/lib/api/requests_spec.rb b/spec/lib/api/requests_spec.rb index 65bc05e..2972eea 100644 --- a/spec/lib/api/requests_spec.rb +++ b/spec/lib/api/requests_spec.rb @@ -248,6 +248,16 @@ "longitude" => -122.418143, "bearing" => 33 }, + "pickup" => { + "latitude" => 0.0, + "longitude" => 0.5, + "eta" => 5 + }, + "destination" => { + "latitude" => 0.0, + "longitude" => 0.6, + "eta" => 19 + }, "vehicle" => { "make" => "Bugatti", "model" => "Veyron", @@ -276,6 +286,14 @@ expect(request.location.longitude).to eql -122.418143 expect(request.location.bearing).to eql 33 + expect(request.pickup.latitude).to eql 0.0 + expect(request.pickup.longitude).to eql 0.5 + expect(request.pickup.eta).to eql 5 + + expect(request.destination.latitude).to eql 0.0 + expect(request.destination.longitude).to eql 0.6 + expect(request.destination.eta).to eql 19 + expect(request.vehicle.make).to eql 'Bugatti' expect(request.vehicle.model).to eql 'Veyron' expect(request.vehicle.license_plate).to eql 'I<3Uber'