Sha256: f23ea68521dda8336d01c8fcc09ef0bdd3d5425592feb8b0bfdb5f9c134adfc3

Contents?: true

Size: 770 Bytes

Versions: 1

Compression:

Stored size: 770 Bytes

Contents

require "vindetta/decoder/result"
require "net/http"
require "json"

module Vindetta
  class Decoder
    CHECK_DIGIT_INDEX = 8

    def self.vin(vin)
      Result.new(Api.get(vin)["Results"])
    end

    def self.plant_code(vin)
      vin[10]
    end

    def self.check_digit(vin)
      vin[CHECK_DIGIT_INDEX]
    end

    def self.wmi(vin)
      vin[0..2]
    end

    def self.vds(vin, options = {})
      defaults = { :check_digit => true }
      options = defaults.merge(options)

      vin[3..CHECK_DIGIT_INDEX].tap do |vds|
        vds.chop! unless options[:check_digit]
      end
    end

    def self.year(vin)
      vin(vin).year
    end

    def self.vis(vin)
      vin[9..16]
    end

    def self.production_number(vin)
      vin[11..16]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vindetta-0.17.1 lib/vindetta/decoder.rb