edmunds_api 0.1.3 → 0.1.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: 73f5adc573d2e1f4905104d789f3b7fee710191c
4
- data.tar.gz: 7f73428ab7acd594426eb14430105afab4d2d1a8
3
+ metadata.gz: c9408b1370e1ff7259d523e619c94bcdce32a88f
4
+ data.tar.gz: 97635e960f4fae48a63b47f3dc087a6d93e96a1a
5
5
  SHA512:
6
- metadata.gz: 085e4d256162462ea33f91226382798ef755a90bf3895e080b54f49c86093a35d60d14344e101b5812c3b4a33b0584d27b8aa5387dfe99cb2733490d314a71a9
7
- data.tar.gz: a5b1cff2393aa2d95b571ab54c770ba838672255a047b3cdeb5ca0f76f2be4810504aebd3e4d12f5239afad61d53310d06cc9f1df8d222180c3e6d1745baace8
6
+ metadata.gz: fbb58dc20557ddfc3b59fffc0c802890130ad08eb1a484bb7c3801f5f6c3b5bde15a75f7c73ef27adbe1063947919eddb1d38939b761ce37481be4aa8556fdb1
7
+ data.tar.gz: 7fca00f71ddbaf3e26b93e893f1831c01cb86b25277bfe0348a7972391855096fc141b20481f31be01aa15a30a2e2942af8d7e28174afa9731cbe211db7765bb
@@ -0,0 +1 @@
1
+ repo_token: jiOAN8YTWc1vAphD3slALGYNPhnkJ981n
@@ -0,0 +1,3 @@
1
+ SimpleCov.start do
2
+ add_group 'lib', 'lib'
3
+ end
data/Gemfile CHANGED
@@ -1,4 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in edmunds_api.gemspec
3
+ group :test do
4
+ gem 'coveralls', require: false
5
+ gem 'simplecov'
6
+ end
7
+
4
8
  gemspec
data/README.md CHANGED
@@ -1,3 +1,9 @@
1
+ [![Circle CI](https://circleci.com/gh/webstreak/edmunds-api-ruby.svg?style=shield)](https://circleci.com/gh/webstreak/edmunds-api-ruby)
2
+ [![Code Climate](https://codeclimate.com/github/webstreak/edmunds-api-ruby/badges/gpa.svg)](https://codeclimate.com/github/webstreak/edmunds-api-ruby)
3
+ [![Coverage Status](https://coveralls.io/repos/github/webstreak/edmunds-api-ruby/badge.svg)](https://coveralls.io/github/webstreak/edmunds-api-ruby)
4
+ [![Gem Version](https://badge.fury.io/rb/edmunds_api.svg)](https://badge.fury.io/rb/edmunds_api)
5
+ [![RubyGems](http://img.shields.io/gem/dt/edmunds_api.svg?style=flat)](http://rubygems.org/gems/edmunds_api)
6
+
1
7
  Edmunds Api ruby client.
2
8
 
3
9
  > *Status*: Beta. We are preparing the project for public release soon
@@ -36,6 +42,10 @@ You can also pass options to an Api endpoint:
36
42
  vehicles_api = Edmunds::Api.new.vehicles
37
43
  vehicles_api.make('Lexus', {state: 'new'})
38
44
  ```
45
+ See supported options for each Api endpoint on [Edmunds website](http://developer.edmunds.com/api-documentation/overview/)
46
+
47
+ ## Supported endpoints
48
+ [Endpoints](endpoints.md)
39
49
 
40
50
  ## Contributing
41
51
 
@@ -0,0 +1,116 @@
1
+ ## Vehicle API
2
+
3
+ ### Makes
4
+ [Makes EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_make/v2/)
5
+
6
+ | Endpoint | Description |
7
+ |-----------|-------------|
8
+ | `Edmunds::Api.new.vehicle.makes.count(options)` | Total Count of Car Makes |
9
+ | `Edmunds::Api.new.vehicle.makes.all_makes(options)` | A List of Car Makes |
10
+ | `Edmunds::Api.new.vehicle.makes.make("Make", options)` | Details on a Specific Car Make |
11
+
12
+ ### Models
13
+ [Models EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_model/v2/)
14
+
15
+ | Endpoint | Description |
16
+ |-----------|-------------|
17
+ | `Edmunds::Api.new.vehicle.models.count("Make", options)` | Total Count of Models for a Car Make |
18
+ | `Edmunds::Api.new.vehicle.models.models("Make", options)` | Get a List of Car Models for a Specific Car Make |
19
+ | `Edmunds::Api.new.vehicle.models.model("Make", "Model", options)` | Get Details on a Specific Car Model |
20
+
21
+ ### Styles
22
+ [Styles EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_style/v2/)
23
+
24
+ | Endpoint | Description |
25
+ |-----------|-------------|
26
+ | `Edmunds::Api.new.vehicle.styles.count(options)` | Styles Count |
27
+ | `Edmunds::Api.new.vehicle.styles.make_count("Make", options)` | Style Count by Car Make |
28
+ | `Edmunds::Api.new.vehicle.styles.make_model_count("Make", "Model", options)` | Style Count by Car Make and Model |
29
+ | `Edmunds::Api.new.vehicle.styles.make_model_year_count("Make", "Model", "Year", options)` | Style Count by Car Make/Model/Year |
30
+ | `Edmunds::Api.new.vehicle.styles.id(style_id, options)` | Car Style Details by Car Style ID |
31
+ | `Edmunds::Api.new.vehicle.styles.make_model_year("Make", "Model", "Year", options)` | Car Style Details by Car Make/Model/Year |
32
+ | `Edmunds::Api.new.vehicle.styles.chrome_data(chrome_id, options)` | Car Style Details by Car Chrome Data ID |
33
+
34
+ ### Engines
35
+ [Engines EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_engine_and_transmission/v2/)
36
+
37
+ | Endpoint | Description |
38
+ |-----------|-------------|
39
+ | `Edmunds::Api.new.vehicle.engines.details(engine_id)` | Engine Details by ID |
40
+ | `Edmunds::Api.new.vehicle.engines.by_style_id(style_id, options)` | Engines for a Car Style |
41
+
42
+ ### Transmissions
43
+ [Transmissions EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_engine_and_transmission/v2/)
44
+
45
+ | Endpoint | Description |
46
+ |-----------|-------------|
47
+ | `Edmunds::Api.new.vehicle.transmissions.details(transmission_id)` | Transmission Details by ID |
48
+ | `Edmunds::Api.new.vehicle.transmissions.by_style_id(style_id, options)` | Transmissions for a Car Style |
49
+
50
+ ### Colors
51
+ [Colors EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_colors_and_options/v2/)
52
+
53
+ | Endpoint | Description |
54
+ |-----------|-------------|
55
+ | `Edmunds::Api.new.vehicle.colors.details(color_id)` | Color Details by ID |
56
+ | `Edmunds::Api.new.vehicle.colors.by_style_id(style_id, options)` | Colors for a Car Style |
57
+
58
+ ### Options
59
+ [Options EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_colors_and_options/v2/)
60
+
61
+ | Endpoint | Description |
62
+ |-----------|-------------|
63
+ | `Edmunds::Api.new.vehicle.options.details(option_id)` | Option Details by ID |
64
+ | `Edmunds::Api.new.vehicle.options.by_style_id(style_id, options)` | Options for a Car Style |
65
+
66
+ ### Equipment
67
+ [Equipment EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_equipment/v2/)
68
+
69
+ | Endpoint | Description |
70
+ |-----------|-------------|
71
+ | `Edmunds::Api.new.vehicle.equipment.details(equipment_id)` | Equipment Details by ID |
72
+ | `Edmunds::Api.new.vehicle.equipment.by_style_id(style_id, options)` | Equipment for a Car Style |
73
+
74
+ ### Squish vin
75
+ [Squish vin EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_squishvin/v2/)
76
+
77
+ | Endpoint | Description |
78
+ |-----------|-------------|
79
+ | `Edmunds::Api.new.vehicle.squishvins.decode(VIN)` | Vehicle Details by Squish VIN |
80
+
81
+ ### VIN Decoding
82
+ [VIN decoding EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/spec_vin_decoding/v2/)
83
+
84
+ | Endpoint | Description |
85
+ |-----------|-------------|
86
+ | `Edmunds::Api.new.vehicle.vin.decode(VIN, options)` | Vehicle Details by VIN |
87
+
88
+ ### Safety
89
+ [Safety EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/service_safety/v2/)
90
+
91
+ | Endpoint | Description |
92
+ |-----------|-------------|
93
+ | `Edmunds::Api.new.vehicle.safety.ratings(style_id)` | Safety ratings by Style ID |
94
+ | `Edmunds::Api.new.vehicle.safety.ratings("Make", "Model", "Year")` | Safety ratings by Make/Model/Year |
95
+
96
+ ### Letter Grade Rating
97
+ [Grades rating EdmundsApi docs](http://developer.edmunds.com/api-documentation/vehicle/content_letter_grade/v2/)
98
+
99
+ | Endpoint | Description |
100
+ |-----------|-------------|
101
+ | `Edmunds::Api.new.vehicle.grades.by_style_id(style_id)` | Rating Details by Style ID |
102
+ | `Edmunds::Api.new.vehicle.grades.details("Make", "Model", "Year")` | All Rating Details Reviews by Make/Model/Year |
103
+ | `Edmunds::Api.new.vehicle.grades.rating("Make", "Model", "Year")` | Letter Grade Rating by Make/Model/Year |
104
+ | `Edmunds::Api.new.vehicle.grades.by_review_id("Make", "Model", "Year", review_id)` | Rating Details by Make/Model/Year and Review ID |
105
+
106
+ ## Media API
107
+
108
+ ### Photos
109
+ [Photos EdmundsApi docs](http://developer.edmunds.com/api-documentation/media/photos/v2/)
110
+
111
+ | Endpoint | Description |
112
+ |-----------|-------------|
113
+ | `Edmunds::Api.new.media.photos.by_year_make_model("Year", "Make", "Model", options)` | Find photos by Make/Model/Year |
114
+ | `Edmunds::Api.new.media.photos.by_tag(tag, options)` | Find photos by Tag |
115
+ | `Edmunds::Api.new.media.photos.by_style_id(style_id, options)` | Find photos by Style ID |
116
+ | `Edmunds::Api.new.media.photos.by_make_model("Make", "Model", options)` | Find photos by Make/Model |
@@ -2,22 +2,26 @@ module Edmunds
2
2
  module Request
3
3
 
4
4
  API_URL = 'https://api.edmunds.com/api'
5
+ API_VERSION = Edmunds.configuration.api_version.to_s
5
6
 
6
7
  def api_call(api_path, path, options={})
7
8
  url = build_api_url api_path, path
8
9
  request_params = merge_required_params options
10
+ raise 'No api_key found' if request_params[:api_key].empty?
9
11
  response = HTTP.headers(http_headers).get(url, params: request_params)
10
12
  parse_response response
11
13
  end
12
14
 
15
+ private
16
+
13
17
  def build_api_url(api_path, path)
14
- api_version = 'v' + Edmunds.configuration.api_version.to_s
18
+ api_version = 'v' + API_VERSION
15
19
  API_URL + '/' + api_path + '/' + api_version + path
16
20
  end
17
21
 
18
22
  def merge_required_params(options)
19
23
  {
20
- api_key: Edmunds.configuration.api_key,
24
+ api_key: Edmunds.configuration.api_key.to_s.strip,
21
25
  fmt: Edmunds.configuration.request_params.fmt
22
26
  }.merge(options)
23
27
  end
@@ -1,3 +1,3 @@
1
1
  module Edmunds
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edmunds_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Belyaev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-29 00:00:00.000000000 Z
11
+ date: 2017-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -101,8 +101,10 @@ executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
+ - ".coveralls.yml"
104
105
  - ".gitignore"
105
106
  - ".rspec"
107
+ - ".simplecov"
106
108
  - Gemfile
107
109
  - LICENSE.txt
108
110
  - README.md
@@ -110,6 +112,7 @@ files:
110
112
  - bin/console
111
113
  - bin/setup
112
114
  - edmunds_api.gemspec
115
+ - endpoints.md
113
116
  - lib/edmunds/api.rb
114
117
  - lib/edmunds/configuration.rb
115
118
  - lib/edmunds/error.rb
@@ -151,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
154
  version: '0'
152
155
  requirements: []
153
156
  rubyforge_project:
154
- rubygems_version: 2.5.1
157
+ rubygems_version: 2.6.10
155
158
  signing_key:
156
159
  specification_version: 4
157
160
  summary: Edmunds Api ruby client