From d4bcccf59894b975afd6a5234edb1b6bbee4a404 Mon Sep 17 00:00:00 2001 From: Rick Barrette Date: Wed, 27 Apr 2016 13:41:09 -0400 Subject: [PATCH] Update vehicle.rb --- app/models/vehicle.rb | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/app/models/vehicle.rb b/app/models/vehicle.rb index 752bdb3..7cec47d 100644 --- a/app/models/vehicle.rb +++ b/app/models/vehicle.rb @@ -23,17 +23,35 @@ class Vehicle < ActiveRecord::Base end def details - @@details = JSON.parse get_decoder.full(self.vin) - return @@details + @details = JSON.parse get_decoder.full(self.vin) end + # make magic methods to grab vehicle information + def method_missing(method_name, *arguments, &block) + if @details.nil? + details + end + + if method_name.to_s =~ /\Avehicle_(.*)/ + @details.fetch($1).fetch('name') + else + super + end + rescue + super + end + + def respond_to_missing?(method_name, include_private = false) + method_name.to_s.start_with?('vehicle_') || super + end + + private + def get_decoder #TODO API Code via Settings return decoder = Edmunds::Vin.new('2dheutzvhxs28dzukx5tgu47') end - private - def decode_vin if self.vin? vehicle = self.get_details