rainmaker 0.1.1 → 0.1.3
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.
- data/.gitignore +3 -1
- data/lib/faraday/response/rainmaker_errors.rb +33 -0
- data/lib/rainmaker/connection.rb +4 -6
- data/lib/rainmaker/error.rb +0 -4
- data/lib/rainmaker/request.rb +6 -4
- data/lib/rainmaker/version.rb +1 -1
- metadata +30 -31
data/.gitignore
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
module Faraday
|
2
|
+
class Response::RainmakerErrors < Response::Middleware
|
3
|
+
def on_complete(env)
|
4
|
+
case env[:status]
|
5
|
+
when 400
|
6
|
+
raise Rainmaker::BadRequest.new(error_message(env), env[:response_headers])
|
7
|
+
when 401
|
8
|
+
raise Rainmaker::Unauthorized.new(error_message(env), env[:response_headers])
|
9
|
+
when 403
|
10
|
+
raise Rainmaker::Forbidden.new(error_message(env), env[:response_headers])
|
11
|
+
when 404
|
12
|
+
raise Rainmaker::NotFound.new(error_message(env), env[:response_headers])
|
13
|
+
when 422
|
14
|
+
raise Rainmaker::Invalid.new(error_message(env), env[:response_headers])
|
15
|
+
when 500
|
16
|
+
raise Rainmaker::InternalServerError.new(error_message(env), env[:response_headers])
|
17
|
+
when 502
|
18
|
+
raise Rainmaker::BadGateway.new(error_message(env), env[:response_headers])
|
19
|
+
when 503
|
20
|
+
raise Rainmaker::ServiceUnavailable.new(error_message(env), env[:response_headers])
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def error_message(env)
|
25
|
+
"#{env[:method].to_s.upcase} #{env[:url].to_s}: #{env[:status]}"
|
26
|
+
end
|
27
|
+
|
28
|
+
def initialize(app)
|
29
|
+
super
|
30
|
+
@parser = nil
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/rainmaker/connection.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'faraday_middleware'
|
2
2
|
require 'faraday/request/gateway'
|
3
|
-
require 'faraday/response/
|
4
|
-
|
3
|
+
require 'faraday/response/rainmaker_errors'
|
4
|
+
|
5
5
|
|
6
6
|
module Rainmaker
|
7
7
|
# @private
|
@@ -17,10 +17,8 @@ module Rainmaker
|
|
17
17
|
}
|
18
18
|
|
19
19
|
Faraday.new(options) do |builder|
|
20
|
-
builder.use Faraday::Request::Multipart
|
21
20
|
builder.use Faraday::Request::UrlEncoded
|
22
21
|
builder.use Faraday::Request::Gateway, gateway if gateway
|
23
|
-
builder.use Faraday::Response::RaiseHttp4xx
|
24
22
|
builder.use Faraday::Response::Rashify unless raw
|
25
23
|
unless raw
|
26
24
|
case format.to_s.downcase
|
@@ -30,8 +28,8 @@ module Rainmaker
|
|
30
28
|
builder.use Faraday::Response::ParseXml
|
31
29
|
end
|
32
30
|
end
|
33
|
-
builder.use Faraday::Response::
|
34
|
-
builder.adapter
|
31
|
+
builder.use Faraday::Response::RainmakerErrors
|
32
|
+
builder.adapter Faraday.default_adapter
|
35
33
|
end
|
36
34
|
end
|
37
35
|
end
|
data/lib/rainmaker/error.rb
CHANGED
data/lib/rainmaker/request.rb
CHANGED
@@ -11,10 +11,12 @@ module Rainmaker
|
|
11
11
|
# Perform an HTTP request
|
12
12
|
def request(method, path, options, raw=false)
|
13
13
|
options[:apiKey] = Rainmaker.options[:api_key]
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
|
15
|
+
response = connection(raw).send(method) do |request|
|
16
|
+
request.url(formatted_path(path), options)
|
17
|
+
end
|
18
|
+
|
19
|
+
raw ? response : response.body
|
18
20
|
end
|
19
21
|
|
20
22
|
def formatted_path(path)
|
data/lib/rainmaker/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rainmaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
13
|
-
default_executable:
|
12
|
+
date: 2011-06-01 00:00:00.000000000Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: maruku
|
17
|
-
requirement: &
|
16
|
+
requirement: &11016096 !ruby/object:Gem::Requirement
|
18
17
|
none: false
|
19
18
|
requirements:
|
20
19
|
- - ~>
|
@@ -22,10 +21,10 @@ dependencies:
|
|
22
21
|
version: '0.6'
|
23
22
|
type: :development
|
24
23
|
prerelease: false
|
25
|
-
version_requirements: *
|
24
|
+
version_requirements: *11016096
|
26
25
|
- !ruby/object:Gem::Dependency
|
27
26
|
name: nokogiri
|
28
|
-
requirement: &
|
27
|
+
requirement: &11015796 !ruby/object:Gem::Requirement
|
29
28
|
none: false
|
30
29
|
requirements:
|
31
30
|
- - ~>
|
@@ -33,10 +32,10 @@ dependencies:
|
|
33
32
|
version: '1.4'
|
34
33
|
type: :development
|
35
34
|
prerelease: false
|
36
|
-
version_requirements: *
|
35
|
+
version_requirements: *11015796
|
37
36
|
- !ruby/object:Gem::Dependency
|
38
37
|
name: rake
|
39
|
-
requirement: &
|
38
|
+
requirement: &11015520 !ruby/object:Gem::Requirement
|
40
39
|
none: false
|
41
40
|
requirements:
|
42
41
|
- - ~>
|
@@ -44,10 +43,10 @@ dependencies:
|
|
44
43
|
version: '0.9'
|
45
44
|
type: :development
|
46
45
|
prerelease: false
|
47
|
-
version_requirements: *
|
46
|
+
version_requirements: *11015520
|
48
47
|
- !ruby/object:Gem::Dependency
|
49
48
|
name: rspec
|
50
|
-
requirement: &
|
49
|
+
requirement: &11015244 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
51
|
requirements:
|
53
52
|
- - ~>
|
@@ -55,10 +54,10 @@ dependencies:
|
|
55
54
|
version: '2.6'
|
56
55
|
type: :development
|
57
56
|
prerelease: false
|
58
|
-
version_requirements: *
|
57
|
+
version_requirements: *11015244
|
59
58
|
- !ruby/object:Gem::Dependency
|
60
59
|
name: simplecov
|
61
|
-
requirement: &
|
60
|
+
requirement: &11014968 !ruby/object:Gem::Requirement
|
62
61
|
none: false
|
63
62
|
requirements:
|
64
63
|
- - ~>
|
@@ -66,10 +65,10 @@ dependencies:
|
|
66
65
|
version: '0.4'
|
67
66
|
type: :development
|
68
67
|
prerelease: false
|
69
|
-
version_requirements: *
|
68
|
+
version_requirements: *11014968
|
70
69
|
- !ruby/object:Gem::Dependency
|
71
70
|
name: webmock
|
72
|
-
requirement: &
|
71
|
+
requirement: &11014692 !ruby/object:Gem::Requirement
|
73
72
|
none: false
|
74
73
|
requirements:
|
75
74
|
- - ~>
|
@@ -77,10 +76,10 @@ dependencies:
|
|
77
76
|
version: '1.6'
|
78
77
|
type: :development
|
79
78
|
prerelease: false
|
80
|
-
version_requirements: *
|
79
|
+
version_requirements: *11014692
|
81
80
|
- !ruby/object:Gem::Dependency
|
82
81
|
name: yard
|
83
|
-
requirement: &
|
82
|
+
requirement: &11014416 !ruby/object:Gem::Requirement
|
84
83
|
none: false
|
85
84
|
requirements:
|
86
85
|
- - ~>
|
@@ -88,10 +87,10 @@ dependencies:
|
|
88
87
|
version: '0.7'
|
89
88
|
type: :development
|
90
89
|
prerelease: false
|
91
|
-
version_requirements: *
|
90
|
+
version_requirements: *11014416
|
92
91
|
- !ruby/object:Gem::Dependency
|
93
92
|
name: hashie
|
94
|
-
requirement: &
|
93
|
+
requirement: &11014140 !ruby/object:Gem::Requirement
|
95
94
|
none: false
|
96
95
|
requirements:
|
97
96
|
- - ~>
|
@@ -99,10 +98,10 @@ dependencies:
|
|
99
98
|
version: 1.0.0
|
100
99
|
type: :runtime
|
101
100
|
prerelease: false
|
102
|
-
version_requirements: *
|
101
|
+
version_requirements: *11014140
|
103
102
|
- !ruby/object:Gem::Dependency
|
104
103
|
name: faraday
|
105
|
-
requirement: &
|
104
|
+
requirement: &11040648 !ruby/object:Gem::Requirement
|
106
105
|
none: false
|
107
106
|
requirements:
|
108
107
|
- - ~>
|
@@ -110,10 +109,10 @@ dependencies:
|
|
110
109
|
version: 0.6.1
|
111
110
|
type: :runtime
|
112
111
|
prerelease: false
|
113
|
-
version_requirements: *
|
112
|
+
version_requirements: *11040648
|
114
113
|
- !ruby/object:Gem::Dependency
|
115
114
|
name: faraday_middleware
|
116
|
-
requirement: &
|
115
|
+
requirement: &11040372 !ruby/object:Gem::Requirement
|
117
116
|
none: false
|
118
117
|
requirements:
|
119
118
|
- - ~>
|
@@ -121,10 +120,10 @@ dependencies:
|
|
121
120
|
version: 0.6.3
|
122
121
|
type: :runtime
|
123
122
|
prerelease: false
|
124
|
-
version_requirements: *
|
123
|
+
version_requirements: *11040372
|
125
124
|
- !ruby/object:Gem::Dependency
|
126
125
|
name: multi_json
|
127
|
-
requirement: &
|
126
|
+
requirement: &11040096 !ruby/object:Gem::Requirement
|
128
127
|
none: false
|
129
128
|
requirements:
|
130
129
|
- - ~>
|
@@ -132,10 +131,10 @@ dependencies:
|
|
132
131
|
version: 1.0.0
|
133
132
|
type: :runtime
|
134
133
|
prerelease: false
|
135
|
-
version_requirements: *
|
134
|
+
version_requirements: *11040096
|
136
135
|
- !ruby/object:Gem::Dependency
|
137
136
|
name: multi_xml
|
138
|
-
requirement: &
|
137
|
+
requirement: &11039820 !ruby/object:Gem::Requirement
|
139
138
|
none: false
|
140
139
|
requirements:
|
141
140
|
- - ~>
|
@@ -143,10 +142,10 @@ dependencies:
|
|
143
142
|
version: 0.2.0
|
144
143
|
type: :runtime
|
145
144
|
prerelease: false
|
146
|
-
version_requirements: *
|
145
|
+
version_requirements: *11039820
|
147
146
|
- !ruby/object:Gem::Dependency
|
148
147
|
name: rash
|
149
|
-
requirement: &
|
148
|
+
requirement: &11039544 !ruby/object:Gem::Requirement
|
150
149
|
none: false
|
151
150
|
requirements:
|
152
151
|
- - ~>
|
@@ -154,7 +153,7 @@ dependencies:
|
|
154
153
|
version: 0.3.0
|
155
154
|
type: :runtime
|
156
155
|
prerelease: false
|
157
|
-
version_requirements: *
|
156
|
+
version_requirements: *11039544
|
158
157
|
description: A Ruby wrapper for the Rainmaker API
|
159
158
|
email:
|
160
159
|
- brawest@gmail.com
|
@@ -171,6 +170,7 @@ files:
|
|
171
170
|
- Rakefile
|
172
171
|
- VERSION
|
173
172
|
- lib/faraday/request/gateway.rb
|
173
|
+
- lib/faraday/response/rainmaker_errors.rb
|
174
174
|
- lib/faraday/response/raise_http_4xx.rb
|
175
175
|
- lib/faraday/response/raise_http_5xx.rb
|
176
176
|
- lib/rainmaker.rb
|
@@ -213,7 +213,6 @@ files:
|
|
213
213
|
- vendor/cache/syntax-1.0.0.gem
|
214
214
|
- vendor/cache/webmock-1.6.4.gem
|
215
215
|
- vendor/cache/yard-0.7.1.gem
|
216
|
-
has_rdoc: true
|
217
216
|
homepage: https://github.com/brandonmwest/rainmaker
|
218
217
|
licenses: []
|
219
218
|
post_install_message: ! '
|
@@ -243,7 +242,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
242
|
version: 1.3.6
|
244
243
|
requirements: []
|
245
244
|
rubyforge_project:
|
246
|
-
rubygems_version: 1.5
|
245
|
+
rubygems_version: 1.8.5
|
247
246
|
signing_key:
|
248
247
|
specification_version: 3
|
249
248
|
summary: Ruby wrapper for the Rainmaker API
|