lib/vindetta/decoder.rb in vindetta-0.24.0 vs lib/vindetta/decoder.rb in vindetta-0.25.0

- old
+ new

@@ -2,22 +2,26 @@ class Decoder BASE_MODEL_YEAR = 1980 ALPHA = ('A'..'Z').to_a NUMERIC = ("0".."9").to_a - def self.vin(vin) - { + def initialize(standard) + @standard = standard + end + + def vin(vin) + { :plant_code => vin[PLANT_CODE_INDEX], :wmi => vin[WMI_RANGE], :check_digit => vin[CHECK_DIGIT_INDEX], :production_number => vin[PRODUCTION_NUMBER_RANGE], :model_year => model_year(vin), } end private - def self.model_year(vin) + def model_year(vin) index = ((ALPHA - %w[I O Q U Z]) + (NUMERIC - %w[0])).find_index { |c| c == vin[9] } if ALPHA.include?(vin[6]) BASE_MODEL_YEAR + index + 30 else