edmunds 0.0.3 → 0.0.4
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 917937e5e9df9c64fb0706dbb87c72f8d0ef8c18
|
4
|
+
data.tar.gz: 8fbb2d8f8d64f41b847cbe8f139cf22b814b0a47
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4065f0b0cbc1c39b37a4dc6e8e3d984bff0f4731796ffdf92ca83eec83a85c1928fc001ed643d1aae38747884793b5e78dd49f40576ba27cd8b1deabdf648692
|
7
|
+
data.tar.gz: d9b2fcfe8e45cd6b2ceb447763b76b8e0984b0eddfd557bd8342bde244d689a6feccc9a5f9a2af5baff1678e143f9b4b6bd076ee980a6ed51a32961a57bc28e9
|
@@ -23,6 +23,36 @@ module Edmunds
|
|
23
23
|
new(attributes)
|
24
24
|
end
|
25
25
|
end
|
26
|
+
|
27
|
+
class Models
|
28
|
+
attr_reader :models, :count
|
29
|
+
|
30
|
+
def initialize(attributes)
|
31
|
+
@count = attributes["modelsCount"]
|
32
|
+
@models = attributes["models"].map {|json| Model.new(json)} if attributes.key?("models")
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.find(make_name, api_params = {})
|
36
|
+
response = Edmunds::Api.get("#{MODEL_API_URL}/#{make_name}/models", api_params)
|
37
|
+
attributes = JSON.parse(response.body)
|
38
|
+
new(attributes)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class ModelsCount
|
43
|
+
attr_reader :count
|
44
|
+
|
45
|
+
def initialize(attributes)
|
46
|
+
@count = attributes["modelsCount"]
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.find(make_name, api_params = {})
|
50
|
+
response = Edmunds::Api.get("#{MODEL_API_URL}/#{make_name}/models/count", api_params)
|
51
|
+
attributes = JSON.parse(response.body)
|
52
|
+
new(attributes)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
26
56
|
end
|
27
57
|
end
|
28
58
|
end
|
@@ -24,6 +24,35 @@ module Edmunds
|
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
+
class ModelYears
|
28
|
+
attr_reader :model_years, :count
|
29
|
+
|
30
|
+
def initialize(attributes)
|
31
|
+
@count = attributes["yearsCount"]
|
32
|
+
@model_years = attributes["years"].map {|json| ModelYear.new(json)} if attributes.key?("years")
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.find(make_name, model_name, api_params = {})
|
36
|
+
response = Edmunds::Api.get("#{MODEL_API_URL}/#{make_name}/#{model_name}/years", api_params)
|
37
|
+
attributes = JSON.parse(response.body)
|
38
|
+
new(attributes)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class ModelYearsCount
|
43
|
+
attr_reader :count
|
44
|
+
|
45
|
+
def initialize(attributes)
|
46
|
+
@count = attributes["yearsCount"]
|
47
|
+
end
|
48
|
+
|
49
|
+
def self.find(make_name, model_name, api_params = {})
|
50
|
+
response = Edmunds::Api.get("#{MODEL_API_URL}/#{make_name}/#{model_name}/years/count", api_params)
|
51
|
+
attributes = JSON.parse(response.body)
|
52
|
+
new(attributes)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
27
56
|
end
|
28
57
|
end
|
29
58
|
end
|
@@ -2,6 +2,7 @@ require 'faraday'
|
|
2
2
|
require 'json'
|
3
3
|
|
4
4
|
STYLE_API_URL = Edmunds::Vehicle::API_URL_V2 + "/styles"
|
5
|
+
BASE_API_URL = Edmunds::Vehicle::API_URL_V2
|
5
6
|
|
6
7
|
module Edmunds
|
7
8
|
module Vehicle
|
@@ -29,6 +30,93 @@ module Edmunds
|
|
29
30
|
end
|
30
31
|
end
|
31
32
|
|
33
|
+
class StylesDetails
|
34
|
+
attr_reader :styles, :count
|
35
|
+
|
36
|
+
def initialize(attributes)
|
37
|
+
@count = attributes["stylesCount"]
|
38
|
+
@styles = attributes["styles"].map {|json| Style.new(json)} if attributes.key?("styles")
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.find(make_name, model_name, model_year, api_params = {})
|
42
|
+
response = Edmunds::Api.get("#{BASE_API_URL}/#{make_name}/#{model_name}/#{model_year}/styles", api_params)
|
43
|
+
attributes = JSON.parse(response.body)
|
44
|
+
new(attributes)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# UNAUTHORIZED
|
49
|
+
# class StylesDetailsChrome
|
50
|
+
# attr_reader :styles, :count
|
51
|
+
|
52
|
+
# def initialize(attributes)
|
53
|
+
# @count = attributes["stylesCount"]
|
54
|
+
# @styles = attributes["styles"].map {|json| Style.new(json)} if attributes.key?("styles")
|
55
|
+
# end
|
56
|
+
|
57
|
+
# def self.find(chrome_id, api_params = {})
|
58
|
+
# response = Edmunds::Api.get("#{BASE_API_URL}/partners/chrome/styles/#{chrome_id}", api_params)
|
59
|
+
# attributes = JSON.parse(response.body)
|
60
|
+
# new(attributes)
|
61
|
+
# end
|
62
|
+
# end
|
63
|
+
|
64
|
+
class StylesCountMakeModelYear
|
65
|
+
attr_reader :count
|
66
|
+
|
67
|
+
def initialize(attributes)
|
68
|
+
@count = attributes["stylesCount"]
|
69
|
+
end
|
70
|
+
|
71
|
+
def self.find(make_name, model_name, model_year, api_params = {})
|
72
|
+
response = Edmunds::Api.get("#{BASE_API_URL}/#{make_name}/#{model_name}/#{model_year}/styles/count", api_params)
|
73
|
+
attributes = JSON.parse(response.body)
|
74
|
+
new(attributes)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
class StylesCountMakeModel
|
79
|
+
attr_reader :count
|
80
|
+
|
81
|
+
def initialize(attributes)
|
82
|
+
@count = attributes["stylesCount"]
|
83
|
+
end
|
84
|
+
|
85
|
+
def self.find(make_name, model_name, api_params = {})
|
86
|
+
response = Edmunds::Api.get("#{BASE_API_URL}/#{make_name}/#{model_name}/styles/count", api_params)
|
87
|
+
attributes = JSON.parse(response.body)
|
88
|
+
new(attributes)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
class StylesCountMake
|
93
|
+
attr_reader :count
|
94
|
+
|
95
|
+
def initialize(attributes)
|
96
|
+
@count = attributes["stylesCount"]
|
97
|
+
end
|
98
|
+
|
99
|
+
def self.find(make_name, api_params = {})
|
100
|
+
response = Edmunds::Api.get("#{BASE_API_URL}/#{make_name}/styles/count", api_params)
|
101
|
+
attributes = JSON.parse(response.body)
|
102
|
+
new(attributes)
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
class StylesCount
|
107
|
+
attr_reader :count
|
108
|
+
|
109
|
+
def initialize(attributes)
|
110
|
+
@count = attributes["stylesCount"]
|
111
|
+
end
|
112
|
+
|
113
|
+
def self.find(api_params = {})
|
114
|
+
response = Edmunds::Api.get("#{STYLE_API_URL}/count", api_params)
|
115
|
+
attributes = JSON.parse(response.body)
|
116
|
+
new(attributes)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
32
120
|
end
|
33
121
|
end
|
34
122
|
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.4
|
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-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -159,7 +159,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
159
159
|
version: '0'
|
160
160
|
requirements: []
|
161
161
|
rubyforge_project:
|
162
|
-
rubygems_version: 2.4.
|
162
|
+
rubygems_version: 2.4.6
|
163
163
|
signing_key:
|
164
164
|
specification_version: 4
|
165
165
|
summary: Gem to wrap Edmunds.com API
|