airbrake-api 4.1.0 → 4.1.1

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/airbrake-api.gemspec CHANGED
@@ -14,21 +14,21 @@ Gem::Specification.new do |s|
14
14
  s.email = ['steve.agalloco@gmail.com']
15
15
  s.homepage = 'https://github.com/spagalloco/airbrake-api'
16
16
 
17
- s.add_dependency 'hashie', '~> 1.2'
17
+ s.add_dependency 'hashie'
18
18
  s.add_dependency 'parallel', '~> 0.5.0'
19
19
  s.add_dependency 'faraday_middleware', '~> 0.8'
20
- s.add_dependency 'multi_xml', '~> 0.4'
20
+ s.add_dependency 'multi_xml'
21
21
  s.add_dependency 'mash'
22
22
 
23
- s.add_development_dependency 'rake', '~> 0.9.2'
24
- s.add_development_dependency 'rspec', '~> 2.6.0'
25
- s.add_development_dependency 'yard', '~> 0.7.2'
26
- s.add_development_dependency 'maruku', '~> 0.6'
27
- s.add_development_dependency 'simplecov', '~> 0.4.2'
28
- s.add_development_dependency 'fakeweb', '~> 1.3.0'
29
- s.add_development_dependency 'nokogiri', '~> 1.4'
30
- s.add_development_dependency 'airbrake', '~> 3.0'
31
- s.add_development_dependency 'i18n', '~> 0.6.0'
23
+ s.add_development_dependency 'rake'
24
+ s.add_development_dependency 'rspec'
25
+ s.add_development_dependency 'yard'
26
+ s.add_development_dependency 'maruku'
27
+ s.add_development_dependency 'simplecov'
28
+ s.add_development_dependency 'fakeweb'
29
+ s.add_development_dependency 'nokogiri'
30
+ s.add_development_dependency 'airbrake'
31
+ s.add_development_dependency 'i18n'
32
32
 
33
33
  # ensure the gem is built out of versioned files
34
34
  s.files = `git ls-files`.split("\n")
data/lib/airbrake-api.rb CHANGED
@@ -4,6 +4,23 @@ module AirbrakeAPI
4
4
  extend Configuration
5
5
 
6
6
  class AirbrakeError < StandardError; end
7
+
8
+ # Alias for Instapaper::Client.new
9
+ #
10
+ # @return [Instapaper::Client]
11
+ def self.client(options={})
12
+ AirbrakeAPI::Client.new(options)
13
+ end
14
+
15
+ # Delegate to Instapaper::Client
16
+ def self.method_missing(method, *args, &block)
17
+ return super unless client.respond_to?(method)
18
+ client.send(method, *args, &block)
19
+ end
20
+
21
+ def self.respond_to?(method, include_private = false)
22
+ client.respond_to?(method, include_private) || super(method, include_private)
23
+ end
7
24
  end
8
25
 
9
26
  require 'airbrake-api/client'
@@ -1,4 +1,5 @@
1
1
  require 'faraday_middleware'
2
+ require 'airbrake-api/core_ext/hash'
2
3
  require 'airbrake-api/middleware/scrub_response'
3
4
  require 'airbrake-api/middleware/raise_server_error'
4
5
  require 'airbrake-api/middleware/raise_response_error'
@@ -0,0 +1,11 @@
1
+ class Hash
2
+
3
+ def deep_merge(other_hash)
4
+ self.merge(other_hash) do |key, oldval, newval|
5
+ oldval = oldval.to_hash if oldval.respond_to?(:to_hash)
6
+ newval = newval.to_hash if newval.respond_to?(:to_hash)
7
+ oldval.class.to_s == 'Hash' && newval.class.to_s == 'Hash' ? oldval.deep_merge(newval) : newval
8
+ end
9
+ end unless method_defined?(:deep_merge)
10
+
11
+ end
@@ -1,3 +1,3 @@
1
1
  module AirbrakeAPI
2
- VERSION = '4.1.0'
2
+ VERSION = '4.1.1'
3
3
  end
@@ -174,6 +174,12 @@ describe AirbrakeAPI::Client do
174
174
  batches.map(&:size).should == [30,30]
175
175
  end
176
176
  end
177
+
178
+ describe '#connection' do
179
+ it 'returns a Faraday connection' do
180
+ @client.send(:connection).should be_kind_of(Faraday::Connection)
181
+ end
182
+ end
177
183
  end
178
184
 
179
185
  describe '#url_for' do
@@ -80,4 +80,11 @@ describe AirbrakeAPI do
80
80
  end
81
81
  end
82
82
 
83
+ describe 'client delegation' do
84
+ it 'delegates to a client' do
85
+ error = AirbrakeAPI.error(1696170)
86
+ error.id.should == 1696170
87
+ end
88
+ end
89
+
83
90
  end
data/spec/spec_helper.rb CHANGED
@@ -29,6 +29,7 @@ fixture_request :get, 'http://myapp.airbrake.io/errors.xml?auth_token=abcdefg123
29
29
  fixture_request :get, "http://myapp.airbrake.io/errors.xml?auth_token=abcdefg123456&page=2", 'paginated_errors.xml'
30
30
  fixture_request :get, "http://myapp.airbrake.io/errors/1696170.xml?auth_token=abcdefg123456", 'individual_error.xml'
31
31
  fixture_request :put, 'http://myapp.airbrake.io/errors/1696170.xml', 'update_error.xml'
32
+ fixture_request :get, 'https://anapp.airbrake.io/errors/1696170.xml?auth_token=abcdefg', 'individual_error.xml'
32
33
 
33
34
  # notices
34
35
  fixture_request :get, "http://myapp.airbrake.io/errors/1696170/notices.xml?auth_token=abcdefg123456", 'notices.xml'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airbrake-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,24 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-25 00:00:00.000000000 Z
12
+ date: 2012-08-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashie
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ~>
19
+ - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: '1.2'
21
+ version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ~>
27
+ - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: '1.2'
29
+ version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: parallel
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -64,17 +64,17 @@ dependencies:
64
64
  requirement: !ruby/object:Gem::Requirement
65
65
  none: false
66
66
  requirements:
67
- - - ~>
67
+ - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
- version: '0.4'
69
+ version: '0'
70
70
  type: :runtime
71
71
  prerelease: false
72
72
  version_requirements: !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
- - - ~>
75
+ - - ! '>='
76
76
  - !ruby/object:Gem::Version
77
- version: '0.4'
77
+ version: '0'
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: mash
80
80
  requirement: !ruby/object:Gem::Requirement
@@ -96,145 +96,145 @@ dependencies:
96
96
  requirement: !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
- - - ~>
99
+ - - ! '>='
100
100
  - !ruby/object:Gem::Version
101
- version: 0.9.2
101
+ version: '0'
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
- - - ~>
107
+ - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
- version: 0.9.2
109
+ version: '0'
110
110
  - !ruby/object:Gem::Dependency
111
111
  name: rspec
112
112
  requirement: !ruby/object:Gem::Requirement
113
113
  none: false
114
114
  requirements:
115
- - - ~>
115
+ - - ! '>='
116
116
  - !ruby/object:Gem::Version
117
- version: 2.6.0
117
+ version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
123
- - - ~>
123
+ - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
- version: 2.6.0
125
+ version: '0'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: yard
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  none: false
130
130
  requirements:
131
- - - ~>
131
+ - - ! '>='
132
132
  - !ruby/object:Gem::Version
133
- version: 0.7.2
133
+ version: '0'
134
134
  type: :development
135
135
  prerelease: false
136
136
  version_requirements: !ruby/object:Gem::Requirement
137
137
  none: false
138
138
  requirements:
139
- - - ~>
139
+ - - ! '>='
140
140
  - !ruby/object:Gem::Version
141
- version: 0.7.2
141
+ version: '0'
142
142
  - !ruby/object:Gem::Dependency
143
143
  name: maruku
144
144
  requirement: !ruby/object:Gem::Requirement
145
145
  none: false
146
146
  requirements:
147
- - - ~>
147
+ - - ! '>='
148
148
  - !ruby/object:Gem::Version
149
- version: '0.6'
149
+ version: '0'
150
150
  type: :development
151
151
  prerelease: false
152
152
  version_requirements: !ruby/object:Gem::Requirement
153
153
  none: false
154
154
  requirements:
155
- - - ~>
155
+ - - ! '>='
156
156
  - !ruby/object:Gem::Version
157
- version: '0.6'
157
+ version: '0'
158
158
  - !ruby/object:Gem::Dependency
159
159
  name: simplecov
160
160
  requirement: !ruby/object:Gem::Requirement
161
161
  none: false
162
162
  requirements:
163
- - - ~>
163
+ - - ! '>='
164
164
  - !ruby/object:Gem::Version
165
- version: 0.4.2
165
+ version: '0'
166
166
  type: :development
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  none: false
170
170
  requirements:
171
- - - ~>
171
+ - - ! '>='
172
172
  - !ruby/object:Gem::Version
173
- version: 0.4.2
173
+ version: '0'
174
174
  - !ruby/object:Gem::Dependency
175
175
  name: fakeweb
176
176
  requirement: !ruby/object:Gem::Requirement
177
177
  none: false
178
178
  requirements:
179
- - - ~>
179
+ - - ! '>='
180
180
  - !ruby/object:Gem::Version
181
- version: 1.3.0
181
+ version: '0'
182
182
  type: :development
183
183
  prerelease: false
184
184
  version_requirements: !ruby/object:Gem::Requirement
185
185
  none: false
186
186
  requirements:
187
- - - ~>
187
+ - - ! '>='
188
188
  - !ruby/object:Gem::Version
189
- version: 1.3.0
189
+ version: '0'
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: nokogiri
192
192
  requirement: !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
- - - ~>
195
+ - - ! '>='
196
196
  - !ruby/object:Gem::Version
197
- version: '1.4'
197
+ version: '0'
198
198
  type: :development
199
199
  prerelease: false
200
200
  version_requirements: !ruby/object:Gem::Requirement
201
201
  none: false
202
202
  requirements:
203
- - - ~>
203
+ - - ! '>='
204
204
  - !ruby/object:Gem::Version
205
- version: '1.4'
205
+ version: '0'
206
206
  - !ruby/object:Gem::Dependency
207
207
  name: airbrake
208
208
  requirement: !ruby/object:Gem::Requirement
209
209
  none: false
210
210
  requirements:
211
- - - ~>
211
+ - - ! '>='
212
212
  - !ruby/object:Gem::Version
213
- version: '3.0'
213
+ version: '0'
214
214
  type: :development
215
215
  prerelease: false
216
216
  version_requirements: !ruby/object:Gem::Requirement
217
217
  none: false
218
218
  requirements:
219
- - - ~>
219
+ - - ! '>='
220
220
  - !ruby/object:Gem::Version
221
- version: '3.0'
221
+ version: '0'
222
222
  - !ruby/object:Gem::Dependency
223
223
  name: i18n
224
224
  requirement: !ruby/object:Gem::Requirement
225
225
  none: false
226
226
  requirements:
227
- - - ~>
227
+ - - ! '>='
228
228
  - !ruby/object:Gem::Version
229
- version: 0.6.0
229
+ version: '0'
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  none: false
234
234
  requirements:
235
- - - ~>
235
+ - - ! '>='
236
236
  - !ruby/object:Gem::Version
237
- version: 0.6.0
237
+ version: '0'
238
238
  description: A ruby wrapper for the Airbrake API
239
239
  email:
240
240
  - steve.agalloco@gmail.com
@@ -253,6 +253,7 @@ files:
253
253
  - lib/airbrake-api/base.rb
254
254
  - lib/airbrake-api/client.rb
255
255
  - lib/airbrake-api/configuration.rb
256
+ - lib/airbrake-api/core_ext/hash.rb
256
257
  - lib/airbrake-api/error.rb
257
258
  - lib/airbrake-api/middleware/raise_response_error.rb
258
259
  - lib/airbrake-api/middleware/raise_server_error.rb
@@ -293,7 +294,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
293
294
  version: '0'
294
295
  segments:
295
296
  - 0
296
- hash: -2747691361078738522
297
+ hash: 1414346195279665603
297
298
  required_rubygems_version: !ruby/object:Gem::Requirement
298
299
  none: false
299
300
  requirements:
@@ -302,7 +303,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
302
303
  version: '0'
303
304
  segments:
304
305
  - 0
305
- hash: -2747691361078738522
306
+ hash: 1414346195279665603
306
307
  requirements: []
307
308
  rubyforge_project:
308
309
  rubygems_version: 1.8.24