VinExploder
A ruby library for retrieving and caching Vehicle Identification Number (VIN) lookups.
How to install
Bundler
gem vin_exploder
Rubygems
gem install vin_exploder
How to use
Using the vin exploder will require a decoding service adapter. Thankfully one is available in the Vinquery gem
require 'vin_exploder'
# require the Vinquery.com adapter
require 'vinquery/vin_exploder/adapter'
# tell vin_exploder to use the Vinquery.com adapter and pass it's required config
VinExploder.config.adapter :vinquery, {:url => 'VINQUERY_URL', :access_code => 'ACCESS_CODE', :report_type => 'REPORT_TYPE'}
# request the decoded VIN data
vin_explosion = VinExploder.get('1FTWX31R19EB18840')
vin_explosion.valid? # true
vin_explosion.make # Ford
Rails use
Create an initializer for the config
require 'vin_exploder'
require 'vinquery/vin_exploder/adapter'
VinExploder.config.adapter :vinquery, {:url => 'VINQUERY_URL', :access_code => 'ACCESS_CODE', :report_type => 'REPORT_TYPE'}
Optional Cache
To save on the cost of looking up a VIN multiple times setup a cache
require 'vin_exploder'
# require the Sequel based cache store
require 'vin_exploder/cache/sequel_cache_store'
# require the Vinquery.com adapter
require 'vinquery/vin_exploder/adapter'
# tell vin_exploder to use the Sequel based cache store adapter and pass in the connection config
VinExploder.config.cache_store :sequel_cache_store, "mysql://localhost:3896/vin_cache"
# tell vin_exploder to use the Vinquery.com adapter and pass it's required config
VinExploder.config.adapter :vinquery, {:url => 'VINQUERY_URL', :access_code => 'ACCESS_CODE', :report_type => 'REPORT_TYPE'}
# request the decoded VIN data
vin_explosion = VinExploder.get('1FTWX31R19EB18840')
vin_explosion.valid? #=> true
vin_explosion.make #=> Ford
# decoded VIN data is retrieved from cache
vin_explosion2 = VinExploder.get('1FTWX31R19EB18840')
vin_explosion2.make #=> Ford