rollbar 1.5.0 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +6 -0
- data/README.md +18 -14
- data/lib/rollbar.rb +48 -10
- data/lib/rollbar/configuration.rb +4 -0
- data/lib/rollbar/version.rb +1 -1
- data/spec/rollbar_spec.rb +59 -5
- metadata +33 -59
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 629a976cd25d915aed389102855a596e77a6c8af
|
4
|
+
data.tar.gz: 4dee53826f0b68b41031143156df4f74ed5a1edb
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 682326d676624bf665d6ecef1b0b5fb5d7040dd2acd44126b41070684fdb5a341d2464302e6fc6fc6ce5493483fe6dedf07359303d738c654f23463e773d75ee
|
7
|
+
data.tar.gz: c56866b778b5209a2d273340c54ff01d7b6c72de07a986b38072d23e3e0e3c018440b5b2bb31c09c48383c25ed131aedfe0534662b72afbcb19c68228f191034
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,15 +1,19 @@
|
|
1
|
-
# Rollbar notifier for Ruby [![Build Status](https://api.travis-ci.org/rollbar/rollbar-gem.svg?branch=v1.5.
|
1
|
+
# Rollbar notifier for Ruby [![Build Status](https://api.travis-ci.org/rollbar/rollbar-gem.svg?branch=v1.5.1)](https://travis-ci.org/rollbar/rollbar-gem/branches)
|
2
2
|
|
3
3
|
<!-- RemoveNext -->
|
4
|
-
|
4
|
+
[Rollbar](https://rollbar.com) is an error tracking service for Ruby and other languages. The Rollbar service will alert you of problems with your code and help you understand them in a ways never possible before. We love it and we hope you will too.
|
5
|
+
|
6
|
+
This is the Ruby library for Rollbar. It will instrument many kinds of Ruby applications automatically at the framework level. You can also make direct calls to send exceptions and messages to Rollbar.
|
5
7
|
|
6
8
|
<!-- Sub:[TOC] -->
|
7
9
|
|
8
|
-
##
|
10
|
+
## Getting Started
|
9
11
|
|
10
12
|
Add this line to your application's Gemfile:
|
11
13
|
|
12
|
-
|
14
|
+
```ruby
|
15
|
+
gem 'rollbar', '~> 1.5.1'
|
16
|
+
```
|
13
17
|
|
14
18
|
And then execute:
|
15
19
|
|
@@ -30,11 +34,9 @@ $ rails generate rollbar POST_SERVER_ITEM_ACCESS_TOKEN
|
|
30
34
|
<!-- RemoveNextIfProject -->
|
31
35
|
Be sure to replace ```POST_SERVER_ITEM_ACCESS_TOKEN``` with your project's ```post_server_item``` access token, which you can find in the Rollbar.com interface.
|
32
36
|
|
33
|
-
That
|
34
|
-
|
35
|
-
That will create the file ```config/initializers/rollbar.rb```, which holds the configuration values (currently just your access token).
|
37
|
+
That will create the file ```config/initializers/rollbar.rb```, which initializes Rollbar and holds your access token and other configuration values.
|
36
38
|
|
37
|
-
If you want to store your access token outside of your repo, run the same command without arguments
|
39
|
+
If you want to store your access token outside of your repo, run the same command without arguments and create an environment variable ```ROLLBAR_ACCESS_TOKEN``` that holds your server-side access token:
|
38
40
|
|
39
41
|
```bash
|
40
42
|
$ rails generate rollbar
|
@@ -51,9 +53,10 @@ $ heroku config:add ROLLBAR_ACCESS_TOKEN=POST_SERVER_ITEM_ACCESS_TOKEN
|
|
51
53
|
|
52
54
|
That's all you need to use Rollbar with Rails.
|
53
55
|
|
56
|
+
|
54
57
|
### If using Rack
|
55
58
|
|
56
|
-
|
59
|
+
Initialize Rollbar with your access token somewhere during startup:
|
57
60
|
|
58
61
|
```ruby
|
59
62
|
Rollbar.configure do |config|
|
@@ -63,13 +66,12 @@ Rollbar.configure do |config|
|
|
63
66
|
end
|
64
67
|
```
|
65
68
|
|
66
|
-
|
67
69
|
<!-- RemoveNextIfProject -->
|
68
70
|
Be sure to replace ```POST_SERVER_ITEM_ACCESS_TOKEN``` with your project's ```post_server_item``` access token, which you can find in the Rollbar.com interface.
|
69
71
|
|
70
72
|
This monkey patches `Rack::Builder` to work with Rollbar automatically.
|
71
73
|
|
72
|
-
For more control, disable the monkey patch
|
74
|
+
For more control, disable the monkey patch:
|
73
75
|
|
74
76
|
```ruby
|
75
77
|
Rollbar.configure do |config|
|
@@ -109,7 +111,7 @@ Uncaught exceptions in Rails controllers will be automatically reported to Rollb
|
|
109
111
|
|
110
112
|
You can use one of `Rollbar.log(level, ...)`, `Rollbar.debug()`, `Rollbar.info()`, `Rollbar.warning()`, `Rollbar.error()` and `Rollbar.critical()` to report exceptions and messages.
|
111
113
|
|
112
|
-
The methods
|
114
|
+
The methods accept any number of arguments. The last exception is used as the reported exception, the last string is used as the message/description, and the last hash is used as the extra data.
|
113
115
|
|
114
116
|
For example:
|
115
117
|
|
@@ -290,7 +292,7 @@ class RollbarPersonData
|
|
290
292
|
end
|
291
293
|
end
|
292
294
|
|
293
|
-
# You can add the middleware to your application, for
|
295
|
+
# You can add the middleware to your application, for example:
|
294
296
|
|
295
297
|
class App < Sinatra::Base
|
296
298
|
use Rollbar::Middleware::Sinatra
|
@@ -353,6 +355,8 @@ config.custom_data_method = lambda {
|
|
353
355
|
|
354
356
|
This data will appear in the Occurrences tab and on the Occurrence Detail pages in the Rollbar interface.
|
355
357
|
|
358
|
+
If your `custom_data_method` crashes while reporting an error, Rollbar will report that new error and will attach its uuid URL to the parent error report.
|
359
|
+
|
356
360
|
## Exception level filters
|
357
361
|
|
358
362
|
By default, all uncaught exceptions are reported at the "error" level, except for the following, which are reported at "warning" level:
|
@@ -646,7 +650,7 @@ Some users have reported problems with Zeus when ```rake``` was not explicitly i
|
|
646
650
|
|
647
651
|
You can find upgrading notes in [UPGRADING.md](UPGRADING.md).
|
648
652
|
|
649
|
-
## Issues
|
653
|
+
## Known Issues
|
650
654
|
|
651
655
|
We've received some issues from users having problems when they use [Oj](https://github.com/ohler55/oj) as the JSON serialization library with [MultiJson](https://github.com/intridea/multi_json). To avoid these problems, we recommend upgrading to Oj version 2.11.0:
|
652
656
|
|
data/lib/rollbar.rb
CHANGED
@@ -35,6 +35,9 @@ module Rollbar
|
|
35
35
|
|
36
36
|
class Notifier
|
37
37
|
attr_accessor :configuration
|
38
|
+
attr_accessor :last_report
|
39
|
+
|
40
|
+
@file_semaphore = Mutex.new
|
38
41
|
|
39
42
|
def initialize(parent_notifier = nil, payload_options = nil)
|
40
43
|
if parent_notifier
|
@@ -48,11 +51,6 @@ module Rollbar
|
|
48
51
|
end
|
49
52
|
end
|
50
53
|
|
51
|
-
attr_writer :configuration
|
52
|
-
attr_accessor :last_report
|
53
|
-
|
54
|
-
@file_semaphore = Mutex.new
|
55
|
-
|
56
54
|
# Similar to configure below, but used only internally within the gem
|
57
55
|
# to configure it without initializing any of the third party hooks
|
58
56
|
def preconfigure
|
@@ -75,6 +73,17 @@ module Rollbar
|
|
75
73
|
self
|
76
74
|
end
|
77
75
|
|
76
|
+
# Returns a new notifier with same configuration options
|
77
|
+
# but it sets Configuration#safely to true.
|
78
|
+
# We are using this flag to avoid having inifite loops
|
79
|
+
# when evaluating some custom user methods.
|
80
|
+
def safely
|
81
|
+
new_notifier = scope
|
82
|
+
new_notifier.configuration.safely = true
|
83
|
+
|
84
|
+
new_notifier
|
85
|
+
end
|
86
|
+
|
78
87
|
# Turns off reporting for the given block.
|
79
88
|
#
|
80
89
|
# @example
|
@@ -195,6 +204,15 @@ module Rollbar
|
|
195
204
|
report_internal_error(e)
|
196
205
|
end
|
197
206
|
|
207
|
+
def custom_data
|
208
|
+
data = configuration.custom_data_method.call
|
209
|
+
Rollbar::Util.deep_copy(data)
|
210
|
+
rescue => e
|
211
|
+
return {} if configuration.safely?
|
212
|
+
|
213
|
+
report_custom_data_error(e)
|
214
|
+
end
|
215
|
+
|
198
216
|
private
|
199
217
|
|
200
218
|
def ignored?(exception, use_exception_level_filters = false)
|
@@ -312,10 +330,7 @@ module Rollbar
|
|
312
330
|
end
|
313
331
|
|
314
332
|
def build_payload_body(message, exception, extra)
|
315
|
-
|
316
|
-
custom = Rollbar::Util.deep_copy(configuration.custom_data_method.call)
|
317
|
-
extra = Rollbar::Util.deep_merge(custom, extra || {})
|
318
|
-
end
|
333
|
+
extra = Rollbar::Util.deep_merge(custom_data, extra || {}) if custom_data_method?
|
319
334
|
|
320
335
|
if exception
|
321
336
|
build_payload_body_exception(message, exception, extra)
|
@@ -324,6 +339,20 @@ module Rollbar
|
|
324
339
|
end
|
325
340
|
end
|
326
341
|
|
342
|
+
def custom_data_method?
|
343
|
+
!!configuration.custom_data_method
|
344
|
+
end
|
345
|
+
|
346
|
+
def report_custom_data_error(e)
|
347
|
+
data = safely.error(e)
|
348
|
+
|
349
|
+
return {} unless data[:uuid]
|
350
|
+
|
351
|
+
uuid_url = uuid_rollbar_url(data)
|
352
|
+
|
353
|
+
{ :_error_in_custom_data_method => uuid_url }
|
354
|
+
end
|
355
|
+
|
327
356
|
def build_payload_body_exception(message, exception, extra)
|
328
357
|
traces = trace_chain(exception)
|
329
358
|
|
@@ -650,10 +679,15 @@ module Rollbar
|
|
650
679
|
|
651
680
|
def log_instance_link(data)
|
652
681
|
if data[:uuid]
|
653
|
-
|
682
|
+
uuid_url = uuid_rollbar_url(data)
|
683
|
+
log_info "[Rollbar] Details: #{uuid_url} (only available if report was successful)"
|
654
684
|
end
|
655
685
|
end
|
656
686
|
|
687
|
+
def uuid_rollbar_url(data)
|
688
|
+
"#{configuration.web_base}/instance/uuid?uuid=#{data[:uuid]}"
|
689
|
+
end
|
690
|
+
|
657
691
|
def logger
|
658
692
|
@logger ||= LoggerProxy.new(configuration.logger)
|
659
693
|
end
|
@@ -700,6 +734,10 @@ module Rollbar
|
|
700
734
|
@configuration ||= Configuration.new
|
701
735
|
end
|
702
736
|
|
737
|
+
def safely?
|
738
|
+
configuration.safely?
|
739
|
+
end
|
740
|
+
|
703
741
|
def require_hooks
|
704
742
|
return if configuration.disable_monkey_patch
|
705
743
|
wrap_delayed_worker
|
@@ -30,6 +30,7 @@ module Rollbar
|
|
30
30
|
attr_accessor :report_dj_data
|
31
31
|
attr_accessor :request_timeout
|
32
32
|
attr_accessor :root
|
33
|
+
attr_accessor :safely
|
33
34
|
attr_accessor :scrub_fields
|
34
35
|
attr_accessor :uncaught_exception_level
|
35
36
|
attr_accessor :scrub_headers
|
@@ -40,6 +41,8 @@ module Rollbar
|
|
40
41
|
|
41
42
|
attr_reader :project_gem_paths
|
42
43
|
|
44
|
+
alias_method :safely?, :safely
|
45
|
+
|
43
46
|
DEFAULT_ENDPOINT = 'https://api.rollbar.com/api/1/item/'
|
44
47
|
DEFAULT_WEB_BASE = 'https://rollbar.com'
|
45
48
|
|
@@ -75,6 +78,7 @@ module Rollbar
|
|
75
78
|
:confirm_password, :password_confirmation, :secret_token]
|
76
79
|
@uncaught_exception_level = 'error'
|
77
80
|
@scrub_headers = ['Authorization']
|
81
|
+
@safely = false
|
78
82
|
@use_async = false
|
79
83
|
@use_eventmachine = false
|
80
84
|
@web_base = DEFAULT_WEB_BASE
|
data/lib/rollbar/version.rb
CHANGED
data/spec/rollbar_spec.rb
CHANGED
@@ -13,6 +13,10 @@ end
|
|
13
13
|
|
14
14
|
describe Rollbar do
|
15
15
|
let(:notifier) { Rollbar.notifier }
|
16
|
+
before do
|
17
|
+
Rollbar.unconfigure
|
18
|
+
configure
|
19
|
+
end
|
16
20
|
|
17
21
|
context 'when notifier has been used before configure it' do
|
18
22
|
before do
|
@@ -287,11 +291,6 @@ describe Rollbar do
|
|
287
291
|
end
|
288
292
|
|
289
293
|
context 'build_payload' do
|
290
|
-
after(:each) do
|
291
|
-
Rollbar.unconfigure
|
292
|
-
configure
|
293
|
-
end
|
294
|
-
|
295
294
|
context 'a basic payload' do
|
296
295
|
let(:extra_data) { {:key => 'value', :hash => {:inner_key => 'inner_value'}} }
|
297
296
|
let(:payload) { notifier.send(:build_payload, 'info', 'message', nil, extra_data) }
|
@@ -409,6 +408,32 @@ describe Rollbar do
|
|
409
408
|
payload['data'][:body][:message][:extra][:f].should == 'f'
|
410
409
|
end
|
411
410
|
|
411
|
+
context 'with custom_data_method crashing' do
|
412
|
+
next unless defined?(SecureRandom) and SecureRandom.respond_to?(:uuid)
|
413
|
+
|
414
|
+
let(:crashing_exception) { StandardError.new }
|
415
|
+
let(:custom_method) { proc { raise crashing_exception } }
|
416
|
+
let(:extra) { { :foo => :bar } }
|
417
|
+
let(:custom_data_report) do
|
418
|
+
{ :_error_in_custom_data_method => SecureRandom.uuid }
|
419
|
+
end
|
420
|
+
let(:expected_extra) { extra.merge(custom_data_report) }
|
421
|
+
|
422
|
+
before do
|
423
|
+
notifier.configure do |config|
|
424
|
+
config.custom_data_method = custom_method
|
425
|
+
end
|
426
|
+
|
427
|
+
expect(notifier).to receive(:report_custom_data_error).once.and_return(custom_data_report)
|
428
|
+
end
|
429
|
+
|
430
|
+
it 'doesnt crash the report' do
|
431
|
+
payload = notifier.send(:build_payload, 'info', 'message', nil, extra)
|
432
|
+
|
433
|
+
expect(payload['data'][:body][:message][:extra]).to be_eql(expected_extra)
|
434
|
+
end
|
435
|
+
end
|
436
|
+
|
412
437
|
it 'should include project_gem_paths' do
|
413
438
|
notifier.configure do |config|
|
414
439
|
config.project_gems = ['rails', 'rspec']
|
@@ -1664,6 +1689,35 @@ describe Rollbar do
|
|
1664
1689
|
end
|
1665
1690
|
end
|
1666
1691
|
|
1692
|
+
describe '#custom_data' do
|
1693
|
+
before do
|
1694
|
+
Rollbar.configure do |config|
|
1695
|
+
config.custom_data_method = proc { raise 'this-will-raise' }
|
1696
|
+
end
|
1697
|
+
|
1698
|
+
expect_any_instance_of(Rollbar::Notifier).to receive(:error).and_return(report_data)
|
1699
|
+
end
|
1700
|
+
|
1701
|
+
context 'with uuid in reported data' do
|
1702
|
+
next unless defined?(SecureRandom) and SecureRandom.respond_to?(:uuid)
|
1703
|
+
|
1704
|
+
let(:report_data) { { :uuid => SecureRandom.uuid } }
|
1705
|
+
let(:expected_url) { "https://rollbar.com/instance/uuid?uuid=#{report_data[:uuid]}" }
|
1706
|
+
|
1707
|
+
it 'returns the uuid in :_error_in_custom_data_method' do
|
1708
|
+
expect(notifier.custom_data).to be_eql(:_error_in_custom_data_method => expected_url)
|
1709
|
+
end
|
1710
|
+
end
|
1711
|
+
|
1712
|
+
context 'without uuid in reported data' do
|
1713
|
+
let(:report_data) { { :some => 'other-data' } }
|
1714
|
+
|
1715
|
+
it 'returns the uuid in :_error_in_custom_data_method' do
|
1716
|
+
expect(notifier.custom_data).to be_eql({})
|
1717
|
+
end
|
1718
|
+
end
|
1719
|
+
end
|
1720
|
+
|
1667
1721
|
# configure with some basic params
|
1668
1722
|
def configure
|
1669
1723
|
reconfigure_notifier
|
metadata
CHANGED
@@ -1,206 +1,181 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rollbar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
5
|
-
prerelease:
|
4
|
+
version: 1.5.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Rollbar, Inc.
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-22 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: multi_json
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '1.3'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '1.3'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rails
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ">="
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 3.0.0
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ">="
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 3.0.0
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec-rails
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: 2.14.0
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 2.14.0
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: database_cleaner
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- - ~>
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: 1.0.0
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- - ~>
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: 1.0.0
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: girl_friday
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - ">="
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: 0.11.1
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - ">="
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: 0.11.1
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: sucker_punch
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - ">="
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: 1.0.0
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - ">="
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: 1.0.0
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: sidekiq
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - ">="
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: 2.13.0
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - ">="
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: 2.13.0
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: genspec
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- -
|
115
|
+
- - ">="
|
132
116
|
- !ruby/object:Gem::Version
|
133
117
|
version: 0.2.8
|
134
118
|
type: :development
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- -
|
122
|
+
- - ">="
|
140
123
|
- !ruby/object:Gem::Version
|
141
124
|
version: 0.2.8
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: sinatra
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
|
-
- -
|
129
|
+
- - ">="
|
148
130
|
- !ruby/object:Gem::Version
|
149
131
|
version: '0'
|
150
132
|
type: :development
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
|
-
- -
|
136
|
+
- - ">="
|
156
137
|
- !ruby/object:Gem::Version
|
157
138
|
version: '0'
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: resque
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
|
-
- -
|
143
|
+
- - ">="
|
164
144
|
- !ruby/object:Gem::Version
|
165
145
|
version: '0'
|
166
146
|
type: :development
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
|
-
- -
|
150
|
+
- - ">="
|
172
151
|
- !ruby/object:Gem::Version
|
173
152
|
version: '0'
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
154
|
name: delayed_job
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
156
|
requirements:
|
179
|
-
- -
|
157
|
+
- - ">="
|
180
158
|
- !ruby/object:Gem::Version
|
181
159
|
version: '0'
|
182
160
|
type: :development
|
183
161
|
prerelease: false
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
163
|
requirements:
|
187
|
-
- -
|
164
|
+
- - ">="
|
188
165
|
- !ruby/object:Gem::Version
|
189
166
|
version: '0'
|
190
167
|
- !ruby/object:Gem::Dependency
|
191
168
|
name: rake
|
192
169
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
170
|
requirements:
|
195
|
-
- -
|
171
|
+
- - ">="
|
196
172
|
- !ruby/object:Gem::Version
|
197
173
|
version: 0.9.0
|
198
174
|
type: :development
|
199
175
|
prerelease: false
|
200
176
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
177
|
requirements:
|
203
|
-
- -
|
178
|
+
- - ">="
|
204
179
|
- !ruby/object:Gem::Version
|
205
180
|
version: 0.9.0
|
206
181
|
description: Rails plugin to catch and send exceptions to Rollbar
|
@@ -211,8 +186,8 @@ executables:
|
|
211
186
|
extensions: []
|
212
187
|
extra_rdoc_files: []
|
213
188
|
files:
|
214
|
-
- .gitignore
|
215
|
-
- .travis.yml
|
189
|
+
- ".gitignore"
|
190
|
+
- ".travis.yml"
|
216
191
|
- Appraisals
|
217
192
|
- CHANGELOG.md
|
218
193
|
- Gemfile
|
@@ -355,27 +330,26 @@ files:
|
|
355
330
|
homepage: https://github.com/rollbar/rollbar-gem
|
356
331
|
licenses:
|
357
332
|
- MIT
|
333
|
+
metadata: {}
|
358
334
|
post_install_message:
|
359
335
|
rdoc_options: []
|
360
336
|
require_paths:
|
361
337
|
- lib
|
362
338
|
required_ruby_version: !ruby/object:Gem::Requirement
|
363
|
-
none: false
|
364
339
|
requirements:
|
365
|
-
- -
|
340
|
+
- - ">="
|
366
341
|
- !ruby/object:Gem::Version
|
367
342
|
version: '0'
|
368
343
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
369
|
-
none: false
|
370
344
|
requirements:
|
371
|
-
- -
|
345
|
+
- - ">="
|
372
346
|
- !ruby/object:Gem::Version
|
373
347
|
version: '0'
|
374
348
|
requirements: []
|
375
349
|
rubyforge_project:
|
376
|
-
rubygems_version:
|
350
|
+
rubygems_version: 2.3.0
|
377
351
|
signing_key:
|
378
|
-
specification_version:
|
352
|
+
specification_version: 4
|
379
353
|
summary: Reports exceptions to Rollbar
|
380
354
|
test_files:
|
381
355
|
- spec/controllers/home_controller_spec.rb
|