gibbon 3.0.1 → 3.0.2
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.
Potentially problematic release.
This version of gibbon might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/README.markdown +6 -5
- data/lib/gibbon/api_request.rb +6 -2
- data/lib/gibbon/version.rb +1 -1
- data/spec/gibbon/api_request_spec.rb +14 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c1f19b602cdd22a49058f62d097abe6121d04ada
|
4
|
+
data.tar.gz: 01e37c1aa62e820a9b1cba9c476bdfba7640c001
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cc64c4a643ceacc05f06e3a621616eb25a57072a0486bd134cd233f650966db1d5ed7f7c7154887fd96344844325bdadfe0a9f188c2c4c29add288fe638fc339
|
7
|
+
data.tar.gz: c046252678c798d2b1f10c87f34b6a507fb4d4d7e919e2528343fbfa19803387c44c7fa52b62a7111439fdc453ff7ce9719664d871614076b0d69d86f116c080
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
## [Unreleased][unreleased]
|
2
2
|
|
3
|
+
## [3.0.2] - 2017-05-08
|
4
|
+
- Fix subtle bug in `symbolize_keys` when parsing error
|
5
|
+
|
3
6
|
## [3.0.1] - 2017-01-13
|
4
7
|
- Gibbon::Request (API 3.0) now returns a `Gibbon::Response` object that exposes `headers` and the parsed response `body`
|
5
8
|
- Remove Export API support (this is deprected after all)
|
data/README.markdown
CHANGED
@@ -4,21 +4,22 @@ Gibbon is an API wrapper for MailChimp's [API](http://kb.mailchimp.com/api/).
|
|
4
4
|
|
5
5
|
[](http://travis-ci.org/amro/gibbon)
|
6
6
|
[](https://gemnasium.com/amro/gibbon)
|
7
|
-
|
7
|
+
|
8
|
+
## Important Notes
|
8
9
|
|
9
10
|
Please read MailChimp's [Getting Started Guide](http://kb.mailchimp.com/api/article/api-3-overview).
|
10
11
|
|
11
12
|
Gibbon 3.0.0+ returns a `Gibbon::Response` instead of the response body directly. `Gibbon::Response` exposes the parsed response `body` and `headers`.
|
12
13
|
|
13
|
-
##Installation
|
14
|
+
## Installation
|
14
15
|
|
15
16
|
$ gem install gibbon
|
16
17
|
|
17
|
-
##Requirements
|
18
|
+
## Requirements
|
18
19
|
|
19
20
|
A MailChimp account and API key. You can see your API keys [here](http://admin.mailchimp.com/account/api).
|
20
21
|
|
21
|
-
##Usage
|
22
|
+
## Usage
|
22
23
|
|
23
24
|
First, create a *one-time use instance* of `Gibbon::Request`:
|
24
25
|
|
@@ -84,7 +85,7 @@ gibbon = Gibbon::Request.new(api_key: "your_api_key", symbolize_keys: true)
|
|
84
85
|
|
85
86
|
MailChimp's [resource documentation](http://kb.mailchimp.com/api/resources) is a list of available resources.
|
86
87
|
|
87
|
-
##Debug Logging
|
88
|
+
## Debug Logging
|
88
89
|
|
89
90
|
Pass `debug: true` to enable debug logging to STDOUT.
|
90
91
|
|
data/lib/gibbon/api_request.rb
CHANGED
@@ -117,8 +117,12 @@ module Gibbon
|
|
117
117
|
|
118
118
|
if parsed_response
|
119
119
|
error_params[:body] = parsed_response
|
120
|
-
|
121
|
-
|
120
|
+
|
121
|
+
title_key = symbolize_keys ? :title : "title"
|
122
|
+
detail_key = symbolize_keys ? :detail : "detail"
|
123
|
+
|
124
|
+
error_params[:title] = parsed_response[title_key] if parsed_response[title_key]
|
125
|
+
error_params[:detail] = parsed_response[detail_key] if parsed_response[detail_key]
|
122
126
|
end
|
123
127
|
|
124
128
|
end
|
data/lib/gibbon/version.rb
CHANGED
@@ -42,5 +42,19 @@ describe Gibbon::APIRequest do
|
|
42
42
|
expect(boom.raw_body).to eq "A non JSON response"
|
43
43
|
end
|
44
44
|
end
|
45
|
+
|
46
|
+
context "when symbolize_keys is true" do
|
47
|
+
it "sets title and detail on the error params" do
|
48
|
+
response_values = {:status => 422, :headers => {}, :body => '{"title": "foo", "detail": "bar"}'}
|
49
|
+
exception = Faraday::Error::ClientError.new("the server responded with status 422", response_values)
|
50
|
+
api_request = Gibbon::APIRequest.new(builder: Gibbon::Request.new(symbolize_keys: true))
|
51
|
+
begin
|
52
|
+
api_request.send :handle_error, exception
|
53
|
+
rescue => boom
|
54
|
+
expect(boom.title).to eq "foo"
|
55
|
+
expect(boom.detail).to eq "bar"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
45
59
|
end
|
46
60
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gibbon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amro Mousa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|