dvla 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 9b7f4eb0e8f75863262ba2fc4d80e4d72aa013c5
4
+ data.tar.gz: 8ff8be2fb4042d5f481ebacd9372947092014af4
5
+ SHA512:
6
+ metadata.gz: a37e9645ae9380ea7a38ddd60c3edceb2cd819f6db26aaaebf7920ccb7821c2ad12330167b9391a716e21fa55342552a4b035b933d738e3287ae82405334a20a
7
+ data.tar.gz: fdbe75925b61065c17932e75213125d375cabe8d1c8bfefa1833050f030be82a3228ce0996562c3bde46d8f6859ed70915eae3d00a27dc9967df6c2c975970d1
@@ -0,0 +1,19 @@
1
+ *.swp
2
+ *.swo
3
+ *.gem
4
+ *.rbc
5
+ .bundle
6
+ .config
7
+ .yardoc
8
+ Gemfile.lock
9
+ InstalledFiles
10
+ _yardoc
11
+ coverage
12
+ doc/
13
+ lib/bundler/man
14
+ pkg
15
+ rdoc
16
+ spec/reports
17
+ test/tmp
18
+ test/version_tmp
19
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'capybara-webkit'
4
+ gem 'rspec'
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Jeremy Walker
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,61 @@
1
+ # DVLA Data Extractor
2
+
3
+ This gem allows you to extract data from the DVLA. It currently supports:
4
+ - Vehicle Details
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ gem 'dvla'
11
+
12
+ And then execute:
13
+
14
+ $ bundle
15
+
16
+ Or install it yourself as:
17
+
18
+ $ gem install dvla
19
+
20
+ ## Usage
21
+
22
+ ### Vehicle Details
23
+ ```ruby
24
+ Dvla::VehicleDetails.retrieve("SP04 UYK", "Mazda")
25
+ ```
26
+
27
+ This should return
28
+ ```json
29
+ {
30
+ car_data: {
31
+ "Date of Liability"=>"01 11 2013",
32
+ "Date of First Registration"=>"16 03 2004",
33
+ "Year of Manufacture"=>"2004",
34
+ "Cylinder Capacity (cc)"=>"2616cc",
35
+ "Emissions"=>"284g/Km",
36
+ "Fuel Type"=>"PETROL",
37
+ "Export Marker"=>"N",
38
+ "Vehicle Status"=>"Licence Not Due",
39
+ "Vehicle Colour"=>"YELLOW",
40
+ "Vehicle Type Approval"=>"M1"
41
+ },
42
+ tax_data: {
43
+ "6 Months Rate"=>"£154.00",
44
+ "12 Months Rate"=>"£280.00"
45
+ }
46
+ }
47
+ ```
48
+
49
+ ## Contributing
50
+
51
+ Contributions are very welcome. To contribute:
52
+
53
+ 1. Fork it
54
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
55
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
56
+ 4. Push to the branch (`git push origin my-new-feature`)
57
+ 5. Create new Pull Request
58
+
59
+ ## Copyright
60
+
61
+ Copyright (c) 2013 Jeremy Walker.
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "dvla"
8
+ spec.version = Dvla::VERSION
9
+ spec.authors = ["Jeremy Walker"]
10
+ spec.email = ["jez.walker@gmail.com"]
11
+ spec.description = %q{A scraper to extract data from the DVLA}
12
+ spec.summary = %q{A scraper to extract data from the DVLA}
13
+ spec.homepage = "https://github.com/iHiD/dvla"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(spec)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ end
@@ -0,0 +1,6 @@
1
+ require "dvla/version"
2
+ require "dvla/vehicle_details"
3
+
4
+ module Dvla
5
+ # Your code goes here...
6
+ end
@@ -0,0 +1,12 @@
1
+ require 'vehicle_details/data_extractor'
2
+ require 'vehicle_details/scraper'
3
+
4
+ module Dvla
5
+ module VehicleDetails
6
+ class << self
7
+ def retrieve(reg, make)
8
+ Scraper.new(reg, make).scrape
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,66 @@
1
+ # encoding: UTF-8
2
+ require 'nokogiri'
3
+
4
+ module Dvla
5
+ module VehicleDetails
6
+ class DataExtractor
7
+ def initialize(html)
8
+ @html = html
9
+ end
10
+
11
+ def car_data
12
+ data = {}
13
+ car_table.css(".vehicledetailstableright .bodytext").each_with_index do |elem, i|
14
+ data[car_data_titles[i]] = elem.text
15
+ end
16
+ data
17
+ end
18
+
19
+ def tax_data
20
+ data = {}
21
+ tax_table.css(".vehicledetailstableright .bodytext").each_with_index do |elem, i|
22
+ data[tax_data_titles[i]] = elem.text
23
+ end
24
+ data
25
+ end
26
+
27
+ private
28
+
29
+ def doc
30
+ @doc ||= Nokogiri::HTML(@html)
31
+ end
32
+
33
+ def tables
34
+ @tables ||= doc.css("table")
35
+ end
36
+
37
+ def car_table
38
+ @car_table ||= tables[0]
39
+ end
40
+
41
+ def tax_table
42
+ @tax_table ||= tables[1]
43
+ end
44
+
45
+ def car_data_titles
46
+ ["Date of Liability",
47
+ "Date of First Registration",
48
+ "Year of Manufacture",
49
+ "Cylinder Capacity (cc)",
50
+ "Emissions",
51
+ "Fuel Type",
52
+ "Export Marker",
53
+ "Vehicle Status",
54
+ "Vehicle Colour",
55
+ "Vehicle Type Approval",
56
+ "Vehicle Excise Duty rate for vehicle 6 Months Rate",
57
+ "12 Months Rate"
58
+ ]
59
+ end
60
+
61
+ def tax_data_titles
62
+ ["6 Months Rate", "12 Months Rate"]
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,37 @@
1
+ require 'capybara-webkit'
2
+ require_relative 'data_extractor'
3
+
4
+ module Dvla
5
+ module VehicleDetails
6
+ class Scraper
7
+ def initialize(reg, make)
8
+ @reg = reg
9
+ @make = make
10
+ end
11
+
12
+ def scrape
13
+ c = Capybara::Session.new(:webkit)
14
+ p "Getting page"
15
+ c.visit 'https://www.taxdisc.direct.gov.uk/EvlPortalApp/app/home/intro'
16
+
17
+ p 'Clicking Vehicle enquiry'
18
+ c.click_on('Vehicle enquiry')
19
+
20
+ p "Clicking Next"
21
+ c.click_on('Next')
22
+
23
+ p "Completing form"
24
+ c.fill_in 'vrm', with: @reg
25
+ c.select @make.upcase, from: 'make'
26
+ c.click_on('Submit')
27
+
28
+ extractor = DataExtractor.new(c.body)
29
+
30
+ {
31
+ car_data: extractor.car_data,
32
+ tax_data: extractor.tax_data
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,3 @@
1
+ module Dvla
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,2 @@
1
+ require_relative 'lib/scraper'
2
+ data = DVLAScraper::DetailsScraper.new("SP04 UYK", "MAZDA").scrape
@@ -0,0 +1,39 @@
1
+ # encoding: UTF-8
2
+ require 'rspec'
3
+ require_relative '../../lib/vehicle_details/data_extractor'
4
+
5
+ module Dvla::VehicleDetails
6
+ describe DataExtractor do
7
+
8
+ before :each do
9
+ html = <<-EOSHTML
10
+ <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"en\"><head>\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/EvlPortalApp/framework/styles/style_nonav.css\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/EvlPortalApp/framework/styles/main.css\">\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/EvlPortalApp/framework/skins/directgov/styles/skin.css\">\n <script src=\"/EvlPortalApp/framework/script/evl.js\" type=\"text/javascript\" language=\"JavaScript\"></script>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n \n <meta name=\"robots\" content=\"noindex,nofollow\">\n\t\t<title>DVLA's Vehicle online service. | Vehicle enquiry\n\t\t</title>\n </head>\n <body>\n <div id=\"template\">\n <div id=\"min-width-container\">\n <div id=\"container-page\">\n \n <div id=\"container-head\">\n <div id=\"banner\">\n <div id=\"bannerLeft\"></div>\n <div id=\"bannerMiddle\">\n <img id=\"bannerImageLogo\" src=\"/EvlPortalApp/framework/skins/directgov/images/logo.gif\" alt=\"Directgov\"><div id=\"printBannerImageLogo\">\n <img src=\"/EvlPortalApp/framework/skins/directgov/images/printlogo.gif\" alt=\"Directgov\"></div><span class=\"bannerText\">Public services all in one place</span>\n </div> \n <div id=\"bannerRight\"></div> \n \n <div id=\"skip\">\n <ul>\n <li><a class=\"access\" href=\"#pageTitle\" tabindex=\"1\"><span class=\"menuBarItem\">Skip to content</span></a></li>\n </ul>\n </div>\n </div>\n </div>\n \n \n <div id=\"menuBar\">\n <div id=\"menuBarLeft\">\n </div>\n <div id=\"menuBarRight\">\n <span class=\"menubarimage\"><img src=\"/EvlPortalApp/framework/images/common/dvla_logo.gif\" alt=\"\">\n </span><span class=\"menubartext\">Services provided by DVLA:</span>\n </div>\n </div>\n \n <div id=\"container-content\">\n \n <div id=\"main\">\n\t\t\t<div id=\"pageTitle\">\n\t\t\t<h1>Vehicle enquiry</h1>\n\t\t\t</div>\n\t\t\t<div class=\"textparagraph\"><span class=\"subtitle\">The enquiry is complete.</span><span class=\"subtitleinline\">The vehicle details for </span><span class=\"subtitleinline\">SP04 UYK</span> <span class=\"subtitleinline\">are:</span></div>\n\t\t\t<table>\n\t\t\t\t<tbody>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Date of Liability</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span class=\"bodytext\">01 11 2013</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Date of First Registration</span></td>\n\t\t\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span class=\"bodytext\">16 03 2004</span></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Year of Manufacture</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span class=\"bodytext\">2004</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Cylinder Capacity (cc)</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span class=\"bodytext\">2616cc</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">CO2 Emissions</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span class=\"bodytext\">284g/Km</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Fuel Type</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span id=\"fueltype\" class=\"bodytext\">PETROL</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Export Marker</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span id=\"exportmarker\" class=\"bodytext\">N</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Vehicle Status</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span id=\"vehiclelicencestatus\" class=\"bodytext\">Licence Not Due</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Vehicle Colour</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span id=\"colour\" class=\"bodytext\">YELLOW</span></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">Vehicle Type Approval</span></td>\n\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span class=\"bodytext\">M1</span></td>\n\t\t\t\t\t</tr>\n\n\t\t\t\t</tbody>\n\t\t\t</table>\n\t\t\t\t<table>\n\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<td colspan=\"2\"><span class=\"bodytextbold\">Vehicle Excise Duty rate for vehicle</span></td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">6 Months Rate</span></td>\n\t\t\t\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span class=\"bodytext\">£154.00</span></td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<td class=\"vehicledetailstableleft\"><span class=\"bodytextbold\">12 Months Rate</span></td>\n\t\t\t\t\t\t\t\t\t<td class=\"vehicledetailstableright\"><span class=\"bodytext\">£280.00</span></td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t<div class=\"textparagraph\"><span class=\"blockbodytext\">Please be aware that if the vehicle has recently been relicensed or a SORN declared, these details may not yet be updated on the vehicle record.</span></div>\n\t\t\t<div class=\"textparagraph\"><span class=\"blockbodytext\">If you think that the details on the vehicle record are incorrect please write to:</span><span class=\"blockbodytext\">VCS</span><span class=\"blockbodytext\">DVLA</span><span class=\"blockbodytext\">Swansea</span><span class=\"blockbodytext\">SA99 1BA</span><span class=\"blockbodytext\">Please include the incorrect V5C Registration Certificate for amendment.</span></div>\n\t\t\t<div class=\"blockbodytext\">To make another enquiry go to\n\t\t\t<a href=\"/EvlPortalApp/app/enquiry?execution=e1s3&amp;_eventId=enquiry\" title=\"Vehicle Enquiry\">Vehicle Enquiry</a>\n\t\t\t</div>\n\t\t\t<div id=\"finishButton\">\n\t\t\t <div class=\"masterassoc\">\n\t\t\t <a href=\"/EvlPortalApp/app/enquiry?execution=e1s3&amp;_eventId=finish\" title=\"Finish\"> <img master=\"true\" src=\"/EvlPortalApp/framework/images/en/buttons/finish.gif\" alt=\"Finish\" hsrc=\"/EvlPortalApp/framework/images/en/buttons/finish_rollover.gif\"></a>\n\t\t\t </div>\n\t\t\t</div>\n </div>\n </div>\n <div class=\"footerSpacer\">\n </div>\n </div>\n </div>\n </div>\n \n \n <div id=\"footerWrapper\">\n <div id=\"footer\">\n <div id=\"footerContainer\">\n <div id=\"footerBarRight\"><span class=\"menuBarItem\">Site Last Updated: 22/01/2013</span>\n </div>\n </div>\n </div>\n </div>\n \n</body></html>
11
+ EOSHTML
12
+ @extractor = DataExtractor.new(html)
13
+ end
14
+
15
+ it "should have a doc" do
16
+ @extractor.send(:doc).should be_a Nokogiri::HTML::Document
17
+ end
18
+
19
+ it "should extract tables" do
20
+ @extractor.send(:tables).length.should == 2
21
+ end
22
+
23
+ it "should extract car_table" do
24
+ @extractor.send(:car_table).should be_a Nokogiri::XML::Element
25
+ end
26
+
27
+ it "should extract from car data" do
28
+ @extractor.car_data.should == {"Date of Liability"=>"01 11 2013", "Date of First Registration"=>"16 03 2004", "Year of Manufacture"=>"2004", "Cylinder Capacity (cc)"=>"2616cc", "Emissions"=>"284g/Km", "Fuel Type"=>"PETROL", "Export Marker"=>"N", "Vehicle Status"=>"Licence Not Due", "Vehicle Colour"=>"YELLOW", "Vehicle Type Approval"=>"M1"}
29
+ end
30
+
31
+ it "should extract tax_table" do
32
+ @extractor.send(:tax_table).should be_a Nokogiri::XML::Element
33
+ end
34
+
35
+ it "should extract tax data" do
36
+ @extractor.tax_data.should == {"6 Months Rate"=>"£154.00", "12 Months Rate"=>"£280.00"}
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,15 @@
1
+ # encoding: UTF-8
2
+ require 'rspec'
3
+ require_relative '../../lib/vehicle_details/scraper'
4
+
5
+ module Dvla::VehicleDetails
6
+ describe Scraper do
7
+ it "should return correct data" do
8
+ data = Scraper.new("SP04 UYK", "MAZDA").scrape
9
+ data.should == {
10
+ car_data: {"Date of Liability"=>"01 11 2013", "Date of First Registration"=>"16 03 2004", "Year of Manufacture"=>"2004", "Cylinder Capacity (cc)"=>"2616cc", "Emissions"=>"284g/Km", "Fuel Type"=>"PETROL", "Export Marker"=>"N", "Vehicle Status"=>"Licence Not Due", "Vehicle Colour"=>"YELLOW", "Vehicle Type Approval"=>"M1"},
11
+ tax_data: {"6 Months Rate"=>"£154.00", "12 Months Rate"=>"£280.00"}
12
+ }
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,14 @@
1
+ # encoding: UTF-8
2
+ require 'rspec'
3
+ require_relative '../lib/vehicle_details'
4
+
5
+ module Dvla
6
+ describe VehicleDetails do
7
+ it "should retrieve data" do
8
+ VehicleDetails.retrieve("SP04 UYK", "MAZDA").should == {
9
+ car_data: {"Date of Liability"=>"01 11 2013", "Date of First Registration"=>"16 03 2004", "Year of Manufacture"=>"2004", "Cylinder Capacity (cc)"=>"2616cc", "Emissions"=>"284g/Km", "Fuel Type"=>"PETROL", "Export Marker"=>"N", "Vehicle Status"=>"Licence Not Due", "Vehicle Colour"=>"YELLOW", "Vehicle Type Approval"=>"M1"},
10
+ tax_data: {"6 Months Rate"=>"£154.00", "12 Months Rate"=>"£280.00"}
11
+ }
12
+ end
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dvla
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Jeremy Walker
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-05-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: A scraper to extract data from the DVLA
42
+ email:
43
+ - jez.walker@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - .gitignore
49
+ - Gemfile
50
+ - Gemfile.lock
51
+ - LICENSE.txt
52
+ - README.md
53
+ - Rakefile
54
+ - dvla.gemspec
55
+ - lib/dvla.rb
56
+ - lib/vehicle_details.rb
57
+ - lib/vehicle_details/data_extractor.rb
58
+ - lib/vehicle_details/scraper.rb
59
+ - lib/version.rb
60
+ - scrape.rb
61
+ - spec/vehicle_details/data_extractor_spec.rb
62
+ - spec/vehicle_details/vehicle_details_scraper_spec.rb
63
+ - spec/vehicle_details_spec.rb
64
+ homepage: https://github.com/iHiD/dvla
65
+ licenses:
66
+ - MIT
67
+ metadata: {}
68
+ post_install_message:
69
+ rdoc_options: []
70
+ require_paths:
71
+ - lib
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ required_rubygems_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - '>='
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ requirements: []
83
+ rubyforge_project:
84
+ rubygems_version: 2.0.0
85
+ signing_key:
86
+ specification_version: 4
87
+ summary: A scraper to extract data from the DVLA
88
+ test_files:
89
+ - spec/vehicle_details/data_extractor_spec.rb
90
+ - spec/vehicle_details/vehicle_details_scraper_spec.rb
91
+ - spec/vehicle_details_spec.rb