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 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