edmunds 0.0.4 → 0.0.5
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.
- checksums.yaml +4 -4
- data/README.md +8 -0
- data/lib/edmunds.rb +10 -10
- data/lib/edmunds/api.rb +18 -4
- data/lib/edmunds/vehicle.rb +3 -3
- data/lib/edmunds/vehicle/specification/color.rb +59 -0
- data/lib/edmunds/vehicle/specification/make.rb +7 -9
- data/lib/edmunds/vehicle/specification/model.rb +6 -8
- data/lib/edmunds/vehicle/specification/model_year.rb +9 -11
- data/lib/edmunds/vehicle/specification/option.rb +64 -0
- data/lib/edmunds/vehicle/specification/style.rb +11 -13
- data/lib/edmunds/vehicle/specification/vin_decoding.rb +10 -12
- data/lib/edmunds/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1344f0bd011e7414e7e8d61633f8d6e4138244b6
|
4
|
+
data.tar.gz: 99f01d3fa5e0ec85c904c1a1ed76e600e337224b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b77c3fa390cdb4792ee925d23102cf95189ebd88b8f416699ab1a7a46d8a7dbc32f624d185dbde28cfc79f8bfaefa02db28324c91c210478a7ddf953cb98542
|
7
|
+
data.tar.gz: 59ab4ce5eeea4c4c2f4d85f62167e4c2ae93531ab14ccb80bd9ebb4e8d8cd73d5a21320d312848f26200abcae8578fe66e640fcf04f0ca332edfc252c3fc9ef0
|
data/README.md
CHANGED
@@ -16,13 +16,21 @@ export EDMUNDS_API_KEY=<api_key>
|
|
16
16
|
```
|
17
17
|
|
18
18
|
## Usage
|
19
|
+
The module naming scheme of this gem is inline with how the API is documented.
|
19
20
|
```ruby
|
20
21
|
require 'edmunds'
|
21
22
|
=> true
|
22
23
|
result = Edmunds::Vehicle::Specification::VinDecoding::Basic.find("JHMAP11461T005905")
|
23
24
|
=> #<Edmunds::Vehicle::Specification::VinDecoding::Basic:0x007faa2a0e4e40 @make="Honda", @model="S2000", @year=2001>
|
25
|
+
result = Edmunds::Vehicle::Specification::Style::StylesDetails.find("honda", "s2000", 2001)
|
26
|
+
=> #<Edmunds::Vehicle::Specification::Style::StylesDetails:0x007fbc719fd028 @count=1, @styles=[#<Edmunds::Vehicle::Specification::Style::Style:0x007fbc719fcf88 @id=100001280, @name="2dr Roadster (2.0L 4cyl 6M)", @trim="Base", @body="Convertible">]>
|
24
27
|
|
25
28
|
```
|
29
|
+
|
30
|
+
## Contributors
|
31
|
+
Feel free to fork this repository and open a pull request.
|
32
|
+
If you have any questions you can open an issue or contact me directly [here](https://twitter.com/Sovietaced).
|
33
|
+
|
26
34
|
## License
|
27
35
|
|
28
36
|
Please see LICENSE at the top level of the repository.
|
data/lib/edmunds.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
require_relative
|
2
|
-
require_relative
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
6
|
-
require_relative
|
7
|
-
require_relative
|
8
|
-
require_relative
|
1
|
+
require_relative 'edmunds/version'
|
2
|
+
require_relative 'edmunds/api'
|
3
|
+
require_relative 'edmunds/vehicle'
|
4
|
+
require_relative 'edmunds/vehicle/specification/make'
|
5
|
+
require_relative 'edmunds/vehicle/specification/model'
|
6
|
+
require_relative 'edmunds/vehicle/specification/model_year'
|
7
|
+
require_relative 'edmunds/vehicle/specification/style'
|
8
|
+
require_relative 'edmunds/vehicle/specification/color'
|
9
|
+
require_relative 'edmunds/vehicle/specification/option'
|
10
|
+
require_relative 'edmunds/vehicle/specification/vin_decoding'
|
9
11
|
|
10
12
|
module Edmunds
|
11
|
-
|
12
13
|
end
|
13
|
-
|
data/lib/edmunds/api.rb
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
module Edmunds
|
2
2
|
module Api
|
3
|
-
|
4
|
-
URL = "https://api.edmunds.com/api"
|
3
|
+
URL = 'https://api.edmunds.com/api'
|
5
4
|
URL_V1 = "#{URL}/v1"
|
6
5
|
|
7
6
|
# Wrapper around Faraday.get that passses the API key
|
8
7
|
def self.get(url, api_params = {})
|
9
8
|
api_key_hash = { api_key: ENV['EDMUNDS_API_KEY'] }
|
10
9
|
api_params = api_params.merge(api_key_hash)
|
11
|
-
Faraday.get(url, api_params)
|
10
|
+
response = Faraday.get(url, api_params)
|
11
|
+
|
12
|
+
if not response.success?
|
13
|
+
raise Exception.new(response)
|
14
|
+
end
|
15
|
+
|
16
|
+
return response
|
12
17
|
end
|
13
18
|
|
19
|
+
class Exception < StandardError
|
20
|
+
attr_reader :error_type, :message
|
21
|
+
def initialize(response)
|
22
|
+
error = JSON.parse(response.body)
|
23
|
+
|
24
|
+
@error_type = error['error']['errorType']
|
25
|
+
@message = error['error']['message']
|
26
|
+
end
|
27
|
+
end
|
14
28
|
end
|
15
|
-
end
|
29
|
+
end
|
data/lib/edmunds/vehicle.rb
CHANGED
@@ -2,7 +2,7 @@ require 'edmunds'
|
|
2
2
|
|
3
3
|
module Edmunds
|
4
4
|
module Vehicle
|
5
|
-
API_URL_V1 = Edmunds::Api::URL_V1 +
|
6
|
-
API_URL_V2 = Edmunds::Api::URL +
|
5
|
+
API_URL_V1 = Edmunds::Api::URL_V1 + '/vehicle'
|
6
|
+
API_URL_V2 = Edmunds::Api::URL + '/vehicle/v2'
|
7
7
|
end
|
8
|
-
end
|
8
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
STYLE_API_URL = Edmunds::Vehicle::API_URL_V2 + '/styles'
|
5
|
+
COLORS_API_URL = Edmunds::Vehicle::API_URL_V2 + '/colors'
|
6
|
+
|
7
|
+
module Edmunds
|
8
|
+
module Vehicle
|
9
|
+
module Specification
|
10
|
+
module Color
|
11
|
+
|
12
|
+
class ColorsByStyle
|
13
|
+
attr_reader :colors, :count
|
14
|
+
|
15
|
+
def initialize(attributes)
|
16
|
+
@colors = attributes['colors'].map { |json| ColorsDetails.new(json) } if attributes.key?('colors')
|
17
|
+
@count = attributes['colorsCount']
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.find(style_id, api_params = {})
|
21
|
+
response = Edmunds::Api.get("#{STYLE_API_URL}/#{style_id}/colors", api_params)
|
22
|
+
attributes = JSON.parse(response.body)
|
23
|
+
new(attributes)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
class ColorsDetails
|
28
|
+
attr_reader :id,
|
29
|
+
:name,
|
30
|
+
:equipment_type,
|
31
|
+
:availability,
|
32
|
+
:manufacture_option_name,
|
33
|
+
:manufacture_option_code,
|
34
|
+
:category,
|
35
|
+
:attributes, #not implemented
|
36
|
+
:color_chips, #not_implemented
|
37
|
+
:fabric_Types #not implemented
|
38
|
+
|
39
|
+
def initialize(attributes)
|
40
|
+
@id = attributes['id']
|
41
|
+
@name = attributes['name']
|
42
|
+
@equipment_type = attributes['equipmentType']
|
43
|
+
@availability = attributes['availability']
|
44
|
+
@manufacture_option_name = attributes['manufactureOptionName']
|
45
|
+
@manufacture_option_code = attributes['manufactureOptionCode']
|
46
|
+
@category = attributes['category']
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.find(color_id, api_params = {})
|
50
|
+
response = Edmunds::Api.get("#{COLORS_API_URL}/#{color_id}", api_params)
|
51
|
+
attributes = JSON.parse(response.body)
|
52
|
+
new(attributes)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -2,19 +2,18 @@ require 'faraday'
|
|
2
2
|
require 'json'
|
3
3
|
|
4
4
|
MAKE_API_URL = Edmunds::Vehicle::API_URL_V2
|
5
|
-
MAKES_API_URL = MAKE_API_URL +
|
6
|
-
MAKES_COUNT_API_URL = MAKES_API_URL +
|
5
|
+
MAKES_API_URL = MAKE_API_URL + '/makes'
|
6
|
+
MAKES_COUNT_API_URL = MAKES_API_URL + '/count'
|
7
7
|
|
8
8
|
module Edmunds
|
9
9
|
module Vehicle
|
10
10
|
module Specification
|
11
11
|
module Make
|
12
|
-
|
13
12
|
class Makes
|
14
13
|
attr_reader :makes
|
15
14
|
|
16
15
|
def initialize(attributes)
|
17
|
-
|
16
|
+
@makes = attributes['makes'].map { |json| Make.new(json) } if attributes.key?('makes')
|
18
17
|
end
|
19
18
|
|
20
19
|
def self.find(api_params = {})
|
@@ -28,9 +27,9 @@ module Edmunds
|
|
28
27
|
attr_reader :id, :name, :models
|
29
28
|
|
30
29
|
def initialize(attributes)
|
31
|
-
@id = attributes[
|
32
|
-
@name = attributes[
|
33
|
-
@models = attributes[
|
30
|
+
@id = attributes['id']
|
31
|
+
@name = attributes['name']
|
32
|
+
@models = attributes['models'].map { |json| Edmunds::Vehicle::Specification::Model::Model.new(json) } if attributes.key?('models')
|
34
33
|
end
|
35
34
|
|
36
35
|
def self.find(name, api_params = {})
|
@@ -44,7 +43,7 @@ module Edmunds
|
|
44
43
|
attr_reader :count
|
45
44
|
|
46
45
|
def initialize(attributes)
|
47
|
-
@count = attributes[
|
46
|
+
@count = attributes['makesCount']
|
48
47
|
end
|
49
48
|
|
50
49
|
def self.find(api_params = {})
|
@@ -53,7 +52,6 @@ module Edmunds
|
|
53
52
|
new(attributes)
|
54
53
|
end
|
55
54
|
end
|
56
|
-
|
57
55
|
end
|
58
56
|
end
|
59
57
|
end
|
@@ -7,14 +7,13 @@ module Edmunds
|
|
7
7
|
module Vehicle
|
8
8
|
module Specification
|
9
9
|
module Model
|
10
|
-
|
11
10
|
class Model
|
12
11
|
attr_reader :id, :name, :years
|
13
12
|
|
14
13
|
def initialize(attributes)
|
15
|
-
@id = attributes[
|
16
|
-
@name = attributes[
|
17
|
-
@years = attributes[
|
14
|
+
@id = attributes['id']
|
15
|
+
@name = attributes['name']
|
16
|
+
@years = attributes['years'].map { |json| Edmunds::Vehicle::Specification::ModelYear::ModelYear.new(json) } if attributes.key?('years')
|
18
17
|
end
|
19
18
|
|
20
19
|
def self.find(make_name, model_name, api_params = {})
|
@@ -28,8 +27,8 @@ module Edmunds
|
|
28
27
|
attr_reader :models, :count
|
29
28
|
|
30
29
|
def initialize(attributes)
|
31
|
-
@count = attributes[
|
32
|
-
@models = attributes[
|
30
|
+
@count = attributes['modelsCount']
|
31
|
+
@models = attributes['models'].map { |json| Model.new(json) } if attributes.key?('models')
|
33
32
|
end
|
34
33
|
|
35
34
|
def self.find(make_name, api_params = {})
|
@@ -43,7 +42,7 @@ module Edmunds
|
|
43
42
|
attr_reader :count
|
44
43
|
|
45
44
|
def initialize(attributes)
|
46
|
-
@count = attributes[
|
45
|
+
@count = attributes['modelsCount']
|
47
46
|
end
|
48
47
|
|
49
48
|
def self.find(make_name, api_params = {})
|
@@ -52,7 +51,6 @@ module Edmunds
|
|
52
51
|
new(attributes)
|
53
52
|
end
|
54
53
|
end
|
55
|
-
|
56
54
|
end
|
57
55
|
end
|
58
56
|
end
|
@@ -7,14 +7,13 @@ module Edmunds
|
|
7
7
|
module Vehicle
|
8
8
|
module Specification
|
9
9
|
module ModelYear
|
10
|
-
|
11
10
|
class ModelYear
|
12
11
|
attr_reader :id, :year, :styles
|
13
12
|
|
14
|
-
def initialize(attributes)
|
15
|
-
@id = attributes[
|
16
|
-
@year = attributes[
|
17
|
-
@styles = attributes[
|
13
|
+
def initialize(attributes)
|
14
|
+
@id = attributes['id']
|
15
|
+
@year = attributes['year']
|
16
|
+
@styles = attributes['styles'].map { |json| Edmunds::Vehicle::Specification::Style::Style.new(json) } if attributes.key?('styles')
|
18
17
|
end
|
19
18
|
|
20
19
|
def self.find(make_name, model_name, model_year, api_params = {})
|
@@ -27,9 +26,9 @@ module Edmunds
|
|
27
26
|
class ModelYears
|
28
27
|
attr_reader :model_years, :count
|
29
28
|
|
30
|
-
def initialize(attributes)
|
31
|
-
@count = attributes[
|
32
|
-
@model_years = attributes[
|
29
|
+
def initialize(attributes)
|
30
|
+
@count = attributes['yearsCount']
|
31
|
+
@model_years = attributes['years'].map { |json| ModelYear.new(json) } if attributes.key?('years')
|
33
32
|
end
|
34
33
|
|
35
34
|
def self.find(make_name, model_name, api_params = {})
|
@@ -42,8 +41,8 @@ module Edmunds
|
|
42
41
|
class ModelYearsCount
|
43
42
|
attr_reader :count
|
44
43
|
|
45
|
-
def initialize(attributes)
|
46
|
-
@count = attributes[
|
44
|
+
def initialize(attributes)
|
45
|
+
@count = attributes['yearsCount']
|
47
46
|
end
|
48
47
|
|
49
48
|
def self.find(make_name, model_name, api_params = {})
|
@@ -52,7 +51,6 @@ module Edmunds
|
|
52
51
|
new(attributes)
|
53
52
|
end
|
54
53
|
end
|
55
|
-
|
56
54
|
end
|
57
55
|
end
|
58
56
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require 'faraday'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
STYLE_API_URL = Edmunds::Vehicle::API_URL_V2 + '/styles'
|
5
|
+
OPTIONS_API_URL = Edmunds::Vehicle::API_URL_V2 + '/options'
|
6
|
+
|
7
|
+
module Edmunds
|
8
|
+
module Vehicle
|
9
|
+
module Specification
|
10
|
+
module Option
|
11
|
+
|
12
|
+
class OptionsByStyle
|
13
|
+
attr_reader :options,
|
14
|
+
:count
|
15
|
+
|
16
|
+
def initialize(attributes)
|
17
|
+
@options = attributes['options'].map { |json| Option.new(json) } if attributes.key?('options')
|
18
|
+
@count = attributes['optionsCount']
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.find(style_id, api_params = {})
|
22
|
+
response = Edmunds::Api.get("#{STYLE_API_URL}/#{style_id}/options", api_params)
|
23
|
+
attributes = JSON.parse(response.body)
|
24
|
+
new(attributes)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class Option
|
29
|
+
attr_reader :id,
|
30
|
+
:name,
|
31
|
+
:description,
|
32
|
+
:equipment_type,
|
33
|
+
:availability,
|
34
|
+
:manufacture_option_name,
|
35
|
+
:manufacture_option_code,
|
36
|
+
:category,
|
37
|
+
:attributes,
|
38
|
+
:equipment #not implemented
|
39
|
+
#TODO: The rest with pricing
|
40
|
+
|
41
|
+
def initialize(attributes)
|
42
|
+
@id = attributes['id']
|
43
|
+
@name = attributes['name']
|
44
|
+
@description = attributes['description']
|
45
|
+
@equipment_type = attributes['equipmentType']
|
46
|
+
@availability = attributes['availability']
|
47
|
+
@manufacture_option_name = attributes['manufactureOptionName']
|
48
|
+
@manufacture_option_code = attributes['manufactureOptionCode']
|
49
|
+
@category = attributes['category']
|
50
|
+
@attributes = attributes['attributes']
|
51
|
+
@equipment = attributes['equipment']
|
52
|
+
end
|
53
|
+
|
54
|
+
def self.find(option_id, api_params = {})
|
55
|
+
response = Edmunds::Api.get("#{OPTIONS_API_URL}/#{option_id}", api_params)
|
56
|
+
attributes = JSON.parse(response.body)
|
57
|
+
new(attributes)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -1,22 +1,21 @@
|
|
1
1
|
require 'faraday'
|
2
2
|
require 'json'
|
3
3
|
|
4
|
-
STYLE_API_URL = Edmunds::Vehicle::API_URL_V2 +
|
4
|
+
STYLE_API_URL = Edmunds::Vehicle::API_URL_V2 + '/styles'
|
5
5
|
BASE_API_URL = Edmunds::Vehicle::API_URL_V2
|
6
6
|
|
7
7
|
module Edmunds
|
8
8
|
module Vehicle
|
9
9
|
module Specification
|
10
10
|
module Style
|
11
|
-
|
12
11
|
class Style
|
13
12
|
attr_reader :id, :name, :trim, :body, :year, :make_name, :model_name
|
14
13
|
|
15
14
|
def initialize(attributes)
|
16
|
-
@id = attributes[
|
17
|
-
@name = attributes[
|
18
|
-
@trim = attributes[
|
19
|
-
@body = attributes[
|
15
|
+
@id = attributes['id']
|
16
|
+
@name = attributes['name']
|
17
|
+
@trim = attributes['trim']
|
18
|
+
@body = attributes['submodel']['body']
|
20
19
|
# TODO: Not sure whether this is valuable or not to expose...
|
21
20
|
# @year = attributes["year"]["year"]
|
22
21
|
# @make_name = attributes["make"]["name"]
|
@@ -34,8 +33,8 @@ module Edmunds
|
|
34
33
|
attr_reader :styles, :count
|
35
34
|
|
36
35
|
def initialize(attributes)
|
37
|
-
@count = attributes[
|
38
|
-
@styles = attributes[
|
36
|
+
@count = attributes['stylesCount']
|
37
|
+
@styles = attributes['styles'].map { |json| Style.new(json) } if attributes.key?('styles')
|
39
38
|
end
|
40
39
|
|
41
40
|
def self.find(make_name, model_name, model_year, api_params = {})
|
@@ -65,7 +64,7 @@ module Edmunds
|
|
65
64
|
attr_reader :count
|
66
65
|
|
67
66
|
def initialize(attributes)
|
68
|
-
@count = attributes[
|
67
|
+
@count = attributes['stylesCount']
|
69
68
|
end
|
70
69
|
|
71
70
|
def self.find(make_name, model_name, model_year, api_params = {})
|
@@ -79,7 +78,7 @@ module Edmunds
|
|
79
78
|
attr_reader :count
|
80
79
|
|
81
80
|
def initialize(attributes)
|
82
|
-
@count = attributes[
|
81
|
+
@count = attributes['stylesCount']
|
83
82
|
end
|
84
83
|
|
85
84
|
def self.find(make_name, model_name, api_params = {})
|
@@ -93,7 +92,7 @@ module Edmunds
|
|
93
92
|
attr_reader :count
|
94
93
|
|
95
94
|
def initialize(attributes)
|
96
|
-
@count = attributes[
|
95
|
+
@count = attributes['stylesCount']
|
97
96
|
end
|
98
97
|
|
99
98
|
def self.find(make_name, api_params = {})
|
@@ -107,7 +106,7 @@ module Edmunds
|
|
107
106
|
attr_reader :count
|
108
107
|
|
109
108
|
def initialize(attributes)
|
110
|
-
@count = attributes[
|
109
|
+
@count = attributes['stylesCount']
|
111
110
|
end
|
112
111
|
|
113
112
|
def self.find(api_params = {})
|
@@ -116,7 +115,6 @@ module Edmunds
|
|
116
115
|
new(attributes)
|
117
116
|
end
|
118
117
|
end
|
119
|
-
|
120
118
|
end
|
121
119
|
end
|
122
120
|
end
|
@@ -1,21 +1,20 @@
|
|
1
1
|
require 'faraday'
|
2
2
|
require 'json'
|
3
3
|
|
4
|
-
BASIC_API_URL = Edmunds::Vehicle::API_URL_V1 +
|
5
|
-
FULL_API_URL = Edmunds::Vehicle::API_URL_V2 +
|
4
|
+
BASIC_API_URL = Edmunds::Vehicle::API_URL_V1 + '/vin'
|
5
|
+
FULL_API_URL = Edmunds::Vehicle::API_URL_V2 + '/vins'
|
6
6
|
|
7
7
|
module Edmunds
|
8
8
|
module Vehicle
|
9
9
|
module Specification
|
10
10
|
module VinDecoding
|
11
|
-
|
12
11
|
class Basic
|
13
12
|
attr_reader :make, :model, :year
|
14
13
|
|
15
14
|
def initialize(attributes)
|
16
|
-
@make = attributes[
|
17
|
-
@model = attributes[
|
18
|
-
@year = attributes[
|
15
|
+
@make = attributes['make']['name']
|
16
|
+
@model = attributes['model']['name']
|
17
|
+
@year = attributes['year']
|
19
18
|
end
|
20
19
|
|
21
20
|
# Get vehicle make, model, year, type, fuel type, number of cylinders and list of styles by decoding the vehicle's VIN.
|
@@ -33,11 +32,11 @@ module Edmunds
|
|
33
32
|
attr_reader :make, :model, :years, :mpg_highway, :mpg_city
|
34
33
|
|
35
34
|
def initialize(attributes)
|
36
|
-
@make = Edmunds::Vehicle::Specification::Make::Make.new(attributes[
|
37
|
-
@model = Edmunds::Vehicle::Specification::Model::Model.new(attributes[
|
38
|
-
@years = attributes[
|
39
|
-
@mpg_highway = attributes[
|
40
|
-
@mpg_city = attributes[
|
35
|
+
@make = Edmunds::Vehicle::Specification::Make::Make.new(attributes['make'])
|
36
|
+
@model = Edmunds::Vehicle::Specification::Model::Model.new(attributes['model'])
|
37
|
+
@years = attributes['years'].map { |json| Edmunds::Vehicle::Specification::ModelYear::ModelYear.new(json) } if attributes.key?('years')
|
38
|
+
@mpg_highway = attributes['MPG']['highway']
|
39
|
+
@mpg_city = attributes['MPG']['city']
|
41
40
|
end
|
42
41
|
|
43
42
|
# Get all vehicle details from make, model, year and fuel type to list of options, features and standard equipment. All this information is returned by decoding the vehicle's VIN.
|
@@ -50,7 +49,6 @@ module Edmunds
|
|
50
49
|
new(attributes)
|
51
50
|
end
|
52
51
|
end
|
53
|
-
|
54
52
|
end
|
55
53
|
end
|
56
54
|
end
|
data/lib/edmunds/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: edmunds
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jason Parraga
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -133,9 +133,11 @@ files:
|
|
133
133
|
- lib/edmunds.rb
|
134
134
|
- lib/edmunds/api.rb
|
135
135
|
- lib/edmunds/vehicle.rb
|
136
|
+
- lib/edmunds/vehicle/specification/color.rb
|
136
137
|
- lib/edmunds/vehicle/specification/make.rb
|
137
138
|
- lib/edmunds/vehicle/specification/model.rb
|
138
139
|
- lib/edmunds/vehicle/specification/model_year.rb
|
140
|
+
- lib/edmunds/vehicle/specification/option.rb
|
139
141
|
- lib/edmunds/vehicle/specification/style.rb
|
140
142
|
- lib/edmunds/vehicle/specification/vin_decoding.rb
|
141
143
|
- lib/edmunds/version.rb
|