rainmaker 0.1.1 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -48,4 +48,6 @@ pkg
48
48
  #*.rbc
49
49
 
50
50
  .idea/
51
- *.lock
51
+ *.lock
52
+
53
+ *.gem
@@ -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
@@ -1,7 +1,7 @@
1
1
  require 'faraday_middleware'
2
2
  require 'faraday/request/gateway'
3
- require 'faraday/response/raise_http_4xx'
4
- require 'faraday/response/raise_http_5xx'
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::RaiseHttp5xx
34
- builder.adapter(adapter)
31
+ builder.use Faraday::Response::RainmakerErrors
32
+ builder.adapter Faraday.default_adapter
35
33
  end
36
34
  end
37
35
  end
@@ -7,10 +7,6 @@ module Rainmaker
7
7
  @http_headers = Hash[http_headers]
8
8
  super message
9
9
  end
10
-
11
- def retry_after
12
- [(ratelimit_reset - Time.now).ceil, 0].max
13
- end
14
10
  end
15
11
 
16
12
  # Raised when Rainmaker returns the HTTP status code 400
@@ -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
- response = connection(raw).send(method) do |request|
15
- request.url(formatted_path(path), options)
16
- end
17
- raw ? response : response.body
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)
@@ -1,3 +1,3 @@
1
1
  module Rainmaker
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.3"
3
3
  end
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.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-05-31 00:00:00.000000000 -06:00
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: &11143680 !ruby/object:Gem::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: *11143680
24
+ version_requirements: *11016096
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: nokogiri
28
- requirement: &11143380 !ruby/object:Gem::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: *11143380
35
+ version_requirements: *11015796
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: rake
39
- requirement: &11143104 !ruby/object:Gem::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: *11143104
46
+ version_requirements: *11015520
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: rspec
50
- requirement: &11142828 !ruby/object:Gem::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: *11142828
57
+ version_requirements: *11015244
59
58
  - !ruby/object:Gem::Dependency
60
59
  name: simplecov
61
- requirement: &11175660 !ruby/object:Gem::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: *11175660
68
+ version_requirements: *11014968
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: webmock
72
- requirement: &11175384 !ruby/object:Gem::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: *11175384
79
+ version_requirements: *11014692
81
80
  - !ruby/object:Gem::Dependency
82
81
  name: yard
83
- requirement: &11175108 !ruby/object:Gem::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: *11175108
90
+ version_requirements: *11014416
92
91
  - !ruby/object:Gem::Dependency
93
92
  name: hashie
94
- requirement: &11174832 !ruby/object:Gem::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: *11174832
101
+ version_requirements: *11014140
103
102
  - !ruby/object:Gem::Dependency
104
103
  name: faraday
105
- requirement: &11174556 !ruby/object:Gem::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: *11174556
112
+ version_requirements: *11040648
114
113
  - !ruby/object:Gem::Dependency
115
114
  name: faraday_middleware
116
- requirement: &11174280 !ruby/object:Gem::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: *11174280
123
+ version_requirements: *11040372
125
124
  - !ruby/object:Gem::Dependency
126
125
  name: multi_json
127
- requirement: &11174004 !ruby/object:Gem::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: *11174004
134
+ version_requirements: *11040096
136
135
  - !ruby/object:Gem::Dependency
137
136
  name: multi_xml
138
- requirement: &11173728 !ruby/object:Gem::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: *11173728
145
+ version_requirements: *11039820
147
146
  - !ruby/object:Gem::Dependency
148
147
  name: rash
149
- requirement: &11173452 !ruby/object:Gem::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: *11173452
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.2
245
+ rubygems_version: 1.8.5
247
246
  signing_key:
248
247
  specification_version: 3
249
248
  summary: Ruby wrapper for the Rainmaker API