discogs-wrapper 2.3.0 → 2.4.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.
- checksums.yaml +4 -4
- data/README.markdown +21 -1
- data/lib/wrapper/wrapper.rb +16 -7
- metadata +37 -37
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 91031cf38db39dcbff5554e7640a13be2e4d5e63
|
4
|
+
data.tar.gz: 21a92fbc0118bbac04c4dbf101dc0e2763d1ec94
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27b9662b5746ec7f045adaf9d669b9dd948dd3d1c18eed9ef7e78e9e9dbecd0c9b5bed58df5f1706ab9974b31b551c1f073f20b74f275d12e867c6971d32641e
|
7
|
+
data.tar.gz: 73b068fbff4032a6543e1031aa3e2c000281de36548c9dc6e976dd2475c540f8738b09ed9f537390ae2039a0e8c2accf289c8ab7e91131992e77e74cb8e9b633
|
data/README.markdown
CHANGED
@@ -29,9 +29,12 @@ ABOUT
|
|
29
29
|
* Pagination / Sorting
|
30
30
|
|
31
31
|
|
32
|
+
DOCUMENTATION
|
33
|
+
------------
|
34
|
+
You can read the documentation at [this projects RDoc page](http://rdoc.info/github/buntine/discogs/master/frames).
|
35
|
+
|
32
36
|
The Discogs API is [documented here](http://www.discogs.com/developers/index.html).
|
33
37
|
|
34
|
-
You can see all implemented methods on [this projects RDoc page](http://rdoc.info/github/buntine/discogs/master/frames).
|
35
38
|
|
36
39
|
INSTALLATION
|
37
40
|
------------
|
@@ -43,6 +46,7 @@ INSTALLATION
|
|
43
46
|
|
44
47
|
gem "discogs-wrapper"
|
45
48
|
|
49
|
+
|
46
50
|
USAGE
|
47
51
|
-----
|
48
52
|
To use this library, you must supply the name of your application. For example:
|
@@ -96,6 +100,19 @@ search.results.first.id # => 691078
|
|
96
100
|
|
97
101
|
You can see all implemented methods on [this projects RDoc page](http://rdoc.info/github/buntine/discogs/master/frames).
|
98
102
|
|
103
|
+
|
104
|
+
SANITIZATION
|
105
|
+
------------
|
106
|
+
The Discogs.com API uses the name "count" in several places, which is sanitized to "total" in this gem in order to prevent overriding the `count` attribute of `Hash`.
|
107
|
+
|
108
|
+
For example:
|
109
|
+
|
110
|
+
```ruby
|
111
|
+
release.rating.count # => Returns number of keys in "rating" Hash.
|
112
|
+
release.rating.total # => Returns total number of ratings as per Discogs API response.
|
113
|
+
```
|
114
|
+
|
115
|
+
|
99
116
|
AUTHENTICATION
|
100
117
|
--------------
|
101
118
|
Many of the API endpoints require the user to be authenticated via oAuth. The library provides support for this.
|
@@ -145,6 +162,7 @@ def another_action
|
|
145
162
|
end
|
146
163
|
```
|
147
164
|
|
165
|
+
|
148
166
|
PAGINATION
|
149
167
|
----------
|
150
168
|
All API endpoints that accept pagination, sorting or other parameters are supported.
|
@@ -161,10 +179,12 @@ wrapper.get_artist_releases(345211, :page => 2, :per_page => 10)
|
|
161
179
|
wrapper.get_user_inventory("username", :page => 3, :sort => "price", :sort_order => "asc")
|
162
180
|
```
|
163
181
|
|
182
|
+
|
164
183
|
LICENSE
|
165
184
|
-----
|
166
185
|
See the LICENCE file. Copyright (c) Andrew Buntine
|
167
186
|
|
187
|
+
|
168
188
|
CONTRIBUTORS
|
169
189
|
------------
|
170
190
|
[Thank you for the support](https://github.com/buntine/discogs/graphs/contributors)
|
data/lib/wrapper/wrapper.rb
CHANGED
@@ -746,7 +746,7 @@ class Discogs::Wrapper
|
|
746
746
|
raise_unknown_resource(path) if response.code == "404"
|
747
747
|
raise_authentication_error(path) if response.code == "401"
|
748
748
|
raise_internal_server_error if response.code == "500"
|
749
|
-
|
749
|
+
|
750
750
|
# Unzip the response data, or just read it in directly
|
751
751
|
# if the API responds without gzipping.
|
752
752
|
response_body = nil
|
@@ -764,21 +764,30 @@ class Discogs::Wrapper
|
|
764
764
|
def make_request(path, params, method, body)
|
765
765
|
full_params = params.merge(auth_params)
|
766
766
|
uri = build_uri(path, full_params)
|
767
|
-
formatted = "#{uri.path}?#{uri.query}"
|
767
|
+
formatted = "#{uri.path}?#{uri.query}"
|
768
768
|
output_format = full_params.fetch(:f, "json")
|
769
769
|
headers = {"Accept" => "application/#{output_format}",
|
770
770
|
"Accept-Encoding" => "gzip,deflate",
|
771
771
|
"User-Agent" => @app_name}
|
772
772
|
|
773
|
-
if
|
773
|
+
if any_authentication?
|
774
774
|
if [:post, :put].include?(method)
|
775
|
-
headers["Content-Type"] = "
|
776
|
-
|
775
|
+
headers["Content-Type"] = headers["Accept"]
|
776
|
+
|
777
|
+
if user_facing?
|
778
|
+
@access_token.send(method, formatted, JSON(body), headers)
|
779
|
+
else
|
780
|
+
HTTParty.send(method, uri, {headers: headers, body: JSON(body)})
|
781
|
+
end
|
777
782
|
else
|
778
|
-
|
783
|
+
if user_facing?
|
784
|
+
@access_token.send(method, formatted, headers)
|
785
|
+
else
|
786
|
+
HTTParty.send(method, uri, headers: headers)
|
787
|
+
end
|
779
788
|
end
|
780
789
|
else
|
781
|
-
|
790
|
+
# All non-authenticated endpoints are GET.
|
782
791
|
HTTParty.get(uri, headers: headers)
|
783
792
|
end
|
784
793
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discogs-wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Buntine
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-10-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: pry
|
@@ -176,56 +176,56 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
176
|
version: '0'
|
177
177
|
requirements: []
|
178
178
|
rubyforge_project:
|
179
|
-
rubygems_version: 2.
|
179
|
+
rubygems_version: 2.6.12
|
180
180
|
signing_key:
|
181
181
|
specification_version: 4
|
182
182
|
summary: Discogs::Wrapper is a full wrapper for the http://www.discogs.com API V2
|
183
183
|
test_files:
|
184
|
-
- spec/
|
185
|
-
- spec/wrapper_methods/get_order_messages_spec.rb
|
186
|
-
- spec/wrapper_methods/edit_user_spec.rb
|
184
|
+
- spec/spec_helper.rb
|
187
185
|
- spec/wrapper_methods/get_identity_spec.rb
|
188
|
-
- spec/wrapper_methods/
|
186
|
+
- spec/wrapper_methods/get_master_release_versions_spec.rb
|
189
187
|
- spec/wrapper_methods/search_spec.rb
|
190
|
-
- spec/wrapper_methods/get_order_spec.rb
|
191
|
-
- spec/wrapper_methods/get_artist_spec.rb
|
192
|
-
- spec/wrapper_methods/get_release_spec.rb
|
193
188
|
- spec/wrapper_methods/get_user_folders_spec.rb
|
194
|
-
- spec/wrapper_methods/get_master_release_spec.rb
|
195
|
-
- spec/wrapper_methods/add_release_to_user_wantlist_spec.rb
|
196
|
-
- spec/wrapper_methods/get_user_spec.rb
|
197
|
-
- spec/wrapper_methods/get_master_release_versions_spec.rb
|
198
|
-
- spec/wrapper_methods/get_price_suggestions_spec.rb
|
199
189
|
- spec/wrapper_methods/get_user_inventory_spec.rb
|
200
190
|
- spec/wrapper_methods/get_listing_spec.rb
|
201
|
-
- spec/wrapper_methods/
|
191
|
+
- spec/wrapper_methods/get_user_folder_spec.rb
|
192
|
+
- spec/wrapper_methods/get_artist_spec.rb
|
193
|
+
- spec/wrapper_methods/get_user_spec.rb
|
194
|
+
- spec/wrapper_methods/edit_user_spec.rb
|
195
|
+
- spec/wrapper_methods/get_master_release_spec.rb
|
202
196
|
- spec/wrapper_methods/edit_release_in_user_wantlist_spec.rb
|
203
|
-
- spec/wrapper_methods/get_user_collection_spec.rb
|
204
|
-
- spec/wrapper_methods/get_label_spec.rb
|
205
197
|
- spec/wrapper_methods/get_artist_releases_spec.rb
|
206
|
-
- spec/wrapper_methods/
|
207
|
-
- spec/
|
198
|
+
- spec/wrapper_methods/get_order_spec.rb
|
199
|
+
- spec/wrapper_methods/get_label_spec.rb
|
200
|
+
- spec/wrapper_methods/get_user_wantlist_spec.rb
|
201
|
+
- spec/wrapper_methods/get_label_releases_spec.rb
|
202
|
+
- spec/wrapper_methods/add_release_to_user_wantlist_spec.rb
|
203
|
+
- spec/wrapper_methods/get_release_spec.rb
|
204
|
+
- spec/wrapper_methods/get_order_messages_spec.rb
|
205
|
+
- spec/wrapper_methods/get_user_collection_spec.rb
|
206
|
+
- spec/wrapper_methods/get_price_suggestions_spec.rb
|
207
|
+
- spec/samples/valid_user_profile.json
|
208
|
+
- spec/samples/valid_user_wantlist.json
|
209
|
+
- spec/samples/valid_master_release.json
|
208
210
|
- spec/samples/valid_artist_releases.json
|
209
|
-
- spec/samples/
|
210
|
-
- spec/samples/
|
211
|
+
- spec/samples/valid_artist.json
|
212
|
+
- spec/samples/valid_label.json
|
213
|
+
- spec/samples/valid_user_folder.json
|
211
214
|
- spec/samples/valid_user_collection.json
|
212
|
-
- spec/samples/valid_identity.json
|
213
|
-
- spec/samples/valid_folder.json
|
214
|
-
- spec/samples/valid_user_wantlist.json
|
215
|
-
- spec/samples/valid_release.json
|
216
|
-
- spec/samples/valid_search_results.json
|
217
|
-
- spec/samples/valid_order.json
|
218
215
|
- spec/samples/valid_wantlist_release.json
|
216
|
+
- spec/samples/valid_fields.json
|
219
217
|
- spec/samples/valid_order_messages.json
|
218
|
+
- spec/samples/valid_user_inventory.json
|
220
219
|
- spec/samples/valid_orders.json
|
220
|
+
- spec/samples/valid_listing.json
|
221
|
+
- spec/samples/valid_release.json
|
222
|
+
- spec/samples/valid_user_folders.json
|
223
|
+
- spec/samples/valid_master_release_versions.json
|
221
224
|
- spec/samples/valid_price_suggestions.json
|
222
|
-
- spec/samples/
|
223
|
-
- spec/samples/
|
224
|
-
- spec/samples/
|
225
|
+
- spec/samples/valid_order.json
|
226
|
+
- spec/samples/valid_user.json
|
227
|
+
- spec/samples/valid_search_results.json
|
228
|
+
- spec/samples/valid_folder.json
|
229
|
+
- spec/samples/valid_identity.json
|
225
230
|
- spec/samples/valid_label_releases.json
|
226
|
-
- spec/
|
227
|
-
- spec/samples/valid_master_release.json
|
228
|
-
- spec/samples/valid_user_folders.json
|
229
|
-
- spec/samples/valid_user_inventory.json
|
230
|
-
- spec/samples/valid_fields.json
|
231
|
-
- spec/samples/valid_listing.json
|
231
|
+
- spec/wrapper_spec.rb
|