This commit is contained in:
2016-04-28 08:47:31 -04:00
parent 847669376f
commit b1120c3849

View File

@@ -19,39 +19,47 @@ class Vehicle < ActiveRecord::Base
before_validation :decode_vin
after_initialize :get_details
# returns a human readable string
def to_s
return "#{self.year} #{self.make} #{self.model}"
end
# returns the raw JSON details from EMUNDS
def details
return @details
end
# returns the style of the vehicle
def style
return @details['years'][0]['styles'][0]['name'] if @details
end
# returns the drive of the vehicle i.e. 2 wheel, 4 wheel, ect.
def drive
return @details['drivenWheels'] if @details
end
# returns the number of doors of the vehicle
def doors
return @details['numOfDoors'] if @details
end
private
# init method to pull JSON details from Edmunds
def get_details
if self.vin?
@details = JSON.parse get_decoder.full(self.vin)
end
end
# returns the Edmunds decoder service
def get_decoder
#TODO API Code via Settings
return decoder = Edmunds::Vin.new('2dheutzvhxs28dzukx5tgu47')
end
# decodes a vin and updates self
def decode_vin
if self.vin?
details