rollbar 2.15.5 → 2.15.6
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.
- checksums.yaml +4 -4
- data/.travis.yml +15 -0
- data/CHANGELOG.md +11 -0
- data/Gemfile +2 -1
- data/README.md +129 -6
- data/data/rollbar.snippet.js +1 -1
- data/gemfiles/rails42.gemfile +1 -1
- data/gemfiles/rails51.gemfile +58 -0
- data/gemfiles/ruby_1_8_and_1_9_2.gemfile +1 -1
- data/lib/rollbar.rb +1 -0
- data/lib/rollbar/item.rb +10 -2
- data/lib/rollbar/logger.rb +6 -1
- data/lib/rollbar/middleware/js.rb +15 -9
- data/lib/rollbar/notifier.rb +22 -8
- data/lib/rollbar/plugins/delayed_job/plugin.rb +2 -1
- data/lib/rollbar/request_data_extractor.rb +6 -1
- data/lib/rollbar/tasks/rollbar.cap +25 -0
- data/lib/rollbar/version.rb +1 -1
- data/spec/controllers/home_controller_spec.rb +22 -14
- data/spec/dummyapp/app/controllers/users_controller.rb +1 -1
- data/spec/rollbar/item_spec.rb +44 -1
- data/spec/rollbar/logger_spec.rb +10 -0
- data/spec/rollbar/middleware/js_spec.rb +69 -0
- data/spec/rollbar/notifier_spec.rb +13 -0
- data/spec/rollbar/plugins/delayed_job_spec.rb +16 -0
- data/spec/rollbar_spec.rb +49 -27
- metadata +3 -2
@@ -40,4 +40,17 @@ describe Rollbar::Notifier do
|
|
40
40
|
expect(subject.scope_object).to be(subject.scope_object)
|
41
41
|
end
|
42
42
|
end
|
43
|
+
|
44
|
+
if RUBY_PLATFORM == 'java'
|
45
|
+
describe "#extract_arguments" do
|
46
|
+
it "extracts Java exceptions" do
|
47
|
+
begin
|
48
|
+
raise java.lang.Exception.new("Hello")
|
49
|
+
rescue java.lang.Exception => e
|
50
|
+
message, exception, extra = Rollbar::Notifier.new.send(:extract_arguments, [e])
|
51
|
+
expect(exception).to eq(e)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
43
56
|
end
|
@@ -46,6 +46,22 @@ describe Rollbar::Delayed, :reconfigure_notifier => true do
|
|
46
46
|
|
47
47
|
FailingJob.new.delay.do_job_please!(:foo, :bar)
|
48
48
|
end
|
49
|
+
|
50
|
+
context 'with dj_threshold > 0' do
|
51
|
+
before do
|
52
|
+
Rollbar.configure do |config|
|
53
|
+
config.dj_threshold = 1
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'sends the exception' do
|
58
|
+
expect(Rollbar).to receive(:scope).with(kind_of(Hash)).and_call_original
|
59
|
+
allow_any_instance_of(Delayed::Backend::Base).to receive(:payload_object).and_raise(Delayed::DeserializationError)
|
60
|
+
expect_any_instance_of(Rollbar::Notifier).to receive(:error).with(*expected_args)
|
61
|
+
|
62
|
+
FailingJob.new.delay.do_job_please!(:foo, :bar)
|
63
|
+
end
|
64
|
+
end
|
49
65
|
end
|
50
66
|
|
51
67
|
describe '.build_job_data' do
|
data/spec/rollbar_spec.rb
CHANGED
@@ -124,40 +124,62 @@ describe Rollbar do
|
|
124
124
|
end
|
125
125
|
|
126
126
|
it 'should report a simple message' do
|
127
|
-
expect(notifier).to receive(:report).with('error', 'test message', nil, nil)
|
127
|
+
expect(notifier).to receive(:report).with('error', 'test message', nil, nil, nil)
|
128
128
|
notifier.log('error', 'test message')
|
129
129
|
end
|
130
130
|
|
131
131
|
it 'should report a simple message with extra data' do
|
132
132
|
extra_data = {:key => 'value', :hash => {:inner_key => 'inner_value'}}
|
133
133
|
|
134
|
-
expect(notifier).to receive(:report).with('error', 'test message', nil, extra_data)
|
134
|
+
expect(notifier).to receive(:report).with('error', 'test message', nil, extra_data, nil)
|
135
135
|
notifier.log('error', 'test message', extra_data)
|
136
136
|
end
|
137
137
|
|
138
138
|
it 'should report an exception' do
|
139
|
-
expect(notifier).to receive(:report).with('error', nil, exception, nil)
|
139
|
+
expect(notifier).to receive(:report).with('error', nil, exception, nil, nil)
|
140
140
|
notifier.log('error', exception)
|
141
141
|
end
|
142
142
|
|
143
143
|
it 'should report an exception with extra data' do
|
144
144
|
extra_data = {:key => 'value', :hash => {:inner_key => 'inner_value'}}
|
145
145
|
|
146
|
-
expect(notifier).to receive(:report).with('error', nil, exception, extra_data)
|
146
|
+
expect(notifier).to receive(:report).with('error', nil, exception, extra_data, nil)
|
147
147
|
notifier.log('error', exception, extra_data)
|
148
148
|
end
|
149
149
|
|
150
150
|
it 'should report an exception with a description' do
|
151
|
-
expect(notifier).to receive(:report).with('error', 'exception description', exception, nil)
|
151
|
+
expect(notifier).to receive(:report).with('error', 'exception description', exception, nil, nil)
|
152
152
|
notifier.log('error', exception, 'exception description')
|
153
153
|
end
|
154
154
|
|
155
155
|
it 'should report an exception with a description and extra data' do
|
156
156
|
extra_data = {:key => 'value', :hash => {:inner_key => 'inner_value'}}
|
157
157
|
|
158
|
-
expect(notifier).to receive(:report).with('error', 'exception description', exception, extra_data)
|
158
|
+
expect(notifier).to receive(:report).with('error', 'exception description', exception, extra_data, nil)
|
159
159
|
notifier.log('error', exception, extra_data, 'exception description')
|
160
160
|
end
|
161
|
+
|
162
|
+
context 'an item with a context' do
|
163
|
+
let(:context) { { :controller => 'ExampleController' } }
|
164
|
+
|
165
|
+
context 'with a custom_data_method configured' do
|
166
|
+
before do
|
167
|
+
Rollbar.configure do |config|
|
168
|
+
config.custom_data_method = lambda do |message, exception, context|
|
169
|
+
{ :result => "MyApp#" + context[:controller] }
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
it 'should have access to the context data through configuration.custom_data_method' do
|
175
|
+
result = notifier.log('error', "Custom message", { :custom_data_method_context => context})
|
176
|
+
|
177
|
+
result[:body][:message][:extra].should_not be_nil
|
178
|
+
result[:body][:message][:extra][:result].should == "MyApp#"+context[:controller]
|
179
|
+
result[:body][:message][:extra][:custom_data_method_context].should be_nil
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
161
183
|
end
|
162
184
|
|
163
185
|
context 'with before_process handlers in configuration' do
|
@@ -200,7 +222,7 @@ describe Rollbar do
|
|
200
222
|
}
|
201
223
|
|
202
224
|
expect(handler).to receive(:call).with(options)
|
203
|
-
expect(notifier).to receive(:report).with(level, message, exception, extra)
|
225
|
+
expect(notifier).to receive(:report).with(level, message, exception, extra, nil)
|
204
226
|
|
205
227
|
notifier.log(level, message, exception, extra)
|
206
228
|
end
|
@@ -298,57 +320,57 @@ describe Rollbar do
|
|
298
320
|
let(:extra_data) { {:key => 'value', :hash => {:inner_key => 'inner_value'}} }
|
299
321
|
|
300
322
|
it 'should report with a debug level' do
|
301
|
-
expect(notifier).to receive(:report).with('debug', nil, exception, nil)
|
323
|
+
expect(notifier).to receive(:report).with('debug', nil, exception, nil, nil)
|
302
324
|
notifier.debug(exception)
|
303
325
|
|
304
|
-
expect(notifier).to receive(:report).with('debug', 'description', exception, nil)
|
326
|
+
expect(notifier).to receive(:report).with('debug', 'description', exception, nil, nil)
|
305
327
|
notifier.debug(exception, 'description')
|
306
328
|
|
307
|
-
expect(notifier).to receive(:report).with('debug', 'description', exception, extra_data)
|
329
|
+
expect(notifier).to receive(:report).with('debug', 'description', exception, extra_data, nil)
|
308
330
|
notifier.debug(exception, 'description', extra_data)
|
309
331
|
end
|
310
332
|
|
311
333
|
it 'should report with an info level' do
|
312
|
-
expect(notifier).to receive(:report).with('info', nil, exception, nil)
|
334
|
+
expect(notifier).to receive(:report).with('info', nil, exception, nil, nil)
|
313
335
|
notifier.info(exception)
|
314
336
|
|
315
|
-
expect(notifier).to receive(:report).with('info', 'description', exception, nil)
|
337
|
+
expect(notifier).to receive(:report).with('info', 'description', exception, nil, nil)
|
316
338
|
notifier.info(exception, 'description')
|
317
339
|
|
318
|
-
expect(notifier).to receive(:report).with('info', 'description', exception, extra_data)
|
340
|
+
expect(notifier).to receive(:report).with('info', 'description', exception, extra_data, nil)
|
319
341
|
notifier.info(exception, 'description', extra_data)
|
320
342
|
end
|
321
343
|
|
322
344
|
it 'should report with a warning level' do
|
323
|
-
expect(notifier).to receive(:report).with('warning', nil, exception, nil)
|
345
|
+
expect(notifier).to receive(:report).with('warning', nil, exception, nil, nil)
|
324
346
|
notifier.warning(exception)
|
325
347
|
|
326
|
-
expect(notifier).to receive(:report).with('warning', 'description', exception, nil)
|
348
|
+
expect(notifier).to receive(:report).with('warning', 'description', exception, nil, nil)
|
327
349
|
notifier.warning(exception, 'description')
|
328
350
|
|
329
|
-
expect(notifier).to receive(:report).with('warning', 'description', exception, extra_data)
|
351
|
+
expect(notifier).to receive(:report).with('warning', 'description', exception, extra_data, nil)
|
330
352
|
notifier.warning(exception, 'description', extra_data)
|
331
353
|
end
|
332
354
|
|
333
355
|
it 'should report with an error level' do
|
334
|
-
expect(notifier).to receive(:report).with('error', nil, exception, nil)
|
356
|
+
expect(notifier).to receive(:report).with('error', nil, exception, nil, nil)
|
335
357
|
notifier.error(exception)
|
336
358
|
|
337
|
-
expect(notifier).to receive(:report).with('error', 'description', exception, nil)
|
359
|
+
expect(notifier).to receive(:report).with('error', 'description', exception, nil, nil)
|
338
360
|
notifier.error(exception, 'description')
|
339
361
|
|
340
|
-
expect(notifier).to receive(:report).with('error', 'description', exception, extra_data)
|
362
|
+
expect(notifier).to receive(:report).with('error', 'description', exception, extra_data, nil)
|
341
363
|
notifier.error(exception, 'description', extra_data)
|
342
364
|
end
|
343
365
|
|
344
366
|
it 'should report with a critical level' do
|
345
|
-
expect(notifier).to receive(:report).with('critical', nil, exception, nil)
|
367
|
+
expect(notifier).to receive(:report).with('critical', nil, exception, nil, nil)
|
346
368
|
notifier.critical(exception)
|
347
369
|
|
348
|
-
expect(notifier).to receive(:report).with('critical', 'description', exception, nil)
|
370
|
+
expect(notifier).to receive(:report).with('critical', 'description', exception, nil, nil)
|
349
371
|
notifier.critical(exception, 'description')
|
350
372
|
|
351
|
-
expect(notifier).to receive(:report).with('critical', 'description', exception, extra_data)
|
373
|
+
expect(notifier).to receive(:report).with('critical', 'description', exception, extra_data, nil)
|
352
374
|
notifier.critical(exception, 'description', extra_data)
|
353
375
|
end
|
354
376
|
end
|
@@ -454,7 +476,7 @@ describe Rollbar do
|
|
454
476
|
expect(logger_mock).to receive(:error).with('[Rollbar] Tried to send a report with no message, exception or extra data.')
|
455
477
|
expect(notifier).not_to receive(:schedule_payload)
|
456
478
|
|
457
|
-
result = notifier.send(:report, 'info', nil, nil, nil)
|
479
|
+
result = notifier.send(:report, 'info', nil, nil, nil, nil)
|
458
480
|
result.should == 'error'
|
459
481
|
end
|
460
482
|
|
@@ -472,7 +494,7 @@ describe Rollbar do
|
|
472
494
|
|
473
495
|
expect(notifier).not_to receive(:schedule_payload)
|
474
496
|
|
475
|
-
result = notifier.send(:report, 'info', 'message', nil, nil)
|
497
|
+
result = notifier.send(:report, 'info', 'message', nil, nil, nil)
|
476
498
|
result.should == 'ignored'
|
477
499
|
end
|
478
500
|
end
|
@@ -1311,7 +1333,7 @@ describe Rollbar do
|
|
1311
1333
|
gem_spec.gem_dir if gem_spec
|
1312
1334
|
end.compact
|
1313
1335
|
|
1314
|
-
data = notifier.send(:build_item, 'info', 'test', nil, {})['data']
|
1336
|
+
data = notifier.send(:build_item, 'info', 'test', nil, {}, nil)['data']
|
1315
1337
|
data[:project_package_paths].kind_of?(Array).should == true
|
1316
1338
|
data[:project_package_paths].length.should == gem_paths.length
|
1317
1339
|
|
@@ -1334,7 +1356,7 @@ describe Rollbar do
|
|
1334
1356
|
gem_paths.any?{|path| path.include? 'rollbar-gem'}.should == true
|
1335
1357
|
gem_paths.any?{|path| path.include? 'rspec-rails'}.should == true
|
1336
1358
|
|
1337
|
-
data = notifier.send(:build_item, 'info', 'test', nil, {})['data']
|
1359
|
+
data = notifier.send(:build_item, 'info', 'test', nil, {}, nil)['data']
|
1338
1360
|
data[:project_package_paths].kind_of?(Array).should == true
|
1339
1361
|
data[:project_package_paths].length.should == gem_paths.length
|
1340
1362
|
(data[:project_package_paths] - gem_paths).length.should == 0
|
@@ -1347,7 +1369,7 @@ describe Rollbar do
|
|
1347
1369
|
config.project_gems = gems
|
1348
1370
|
end
|
1349
1371
|
|
1350
|
-
data = notifier.send(:build_item, 'info', 'test', nil, {})['data']
|
1372
|
+
data = notifier.send(:build_item, 'info', 'test', nil, {}, nil)['data']
|
1351
1373
|
data[:project_package_paths].kind_of?(Array).should == true
|
1352
1374
|
data[:project_package_paths].length.should == 1
|
1353
1375
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rollbar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.15.
|
4
|
+
version: 2.15.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rollbar, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -57,6 +57,7 @@ files:
|
|
57
57
|
- gemfiles/rails41.gemfile
|
58
58
|
- gemfiles/rails42.gemfile
|
59
59
|
- gemfiles/rails50.gemfile
|
60
|
+
- gemfiles/rails51.gemfile
|
60
61
|
- gemfiles/ruby_1_8_and_1_9_2.gemfile
|
61
62
|
- lib/generators/rollbar/rollbar_generator.rb
|
62
63
|
- lib/generators/rollbar/templates/initializer.rb
|