rollbar 2.27.0 → 3.0.0
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/.github/pull_request_template.md +25 -0
- data/.travis.yml +0 -16
- data/Gemfile +5 -12
- data/README.md +10 -8
- data/data/rollbar.snippet.js +1 -1
- data/docs/configuration.md +7 -0
- data/gemfiles/rails30.gemfile +6 -18
- data/gemfiles/rails31.gemfile +6 -18
- data/gemfiles/rails32.gemfile +6 -18
- data/gemfiles/rails40.gemfile +7 -20
- data/gemfiles/rails41.gemfile +6 -18
- data/gemfiles/rails42.gemfile +6 -18
- data/gemfiles/rails50.gemfile +4 -13
- data/gemfiles/rails51.gemfile +4 -13
- data/lib/rollbar/configuration.rb +2 -0
- data/lib/rollbar/language_support.rb +0 -6
- data/lib/rollbar/notifier.rb +0 -6
- data/lib/rollbar/plugins/delayed_job/plugin.rb +4 -0
- data/lib/rollbar/scrubbers/url.rb +10 -5
- data/lib/rollbar/version.rb +1 -1
- data/rollbar.gemspec +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fbf141d927e82bdfe66ceb1b2e03564cb6e57479d808c85f9fb3d15dcbf7287c
|
|
4
|
+
data.tar.gz: 751d5d3a04d4687a910c11856b24f923cf2c785bb3bc5b74eb2060d58999495d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e2fbd0041e9de24ea141abb9e24628b225b6dc80126ed7e4f4e298619db6bf4ee7c73173d6fc7e6a8405261e761d80f71b3d218e57272a64e69f0b6eb551cf08
|
|
7
|
+
data.tar.gz: ad1b5b19824aaaa731d61862d88cf7a206ec660a739b31ac0e0934b90dc0ea2d0dc6c0366a786d7b474e142d6620f253dfcebc7ad46d558bfcc449b4c2a17594
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
## Description of the change
|
|
2
|
+
|
|
3
|
+
> Description here
|
|
4
|
+
## Type of change
|
|
5
|
+
- [ ] Bug fix (non-breaking change that fixes an issue)
|
|
6
|
+
- [ ] New feature (non-breaking change that adds functionality)
|
|
7
|
+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
|
8
|
+
|
|
9
|
+
## Related issues
|
|
10
|
+
|
|
11
|
+
> Fix [#1]()
|
|
12
|
+
## Checklists
|
|
13
|
+
|
|
14
|
+
### Development
|
|
15
|
+
|
|
16
|
+
- [ ] Lint rules pass locally
|
|
17
|
+
- [ ] The code changed/added as part of this pull request has been covered with tests
|
|
18
|
+
- [ ] All tests related to the changed code pass in development
|
|
19
|
+
|
|
20
|
+
### Code review
|
|
21
|
+
|
|
22
|
+
- [ ] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
|
|
23
|
+
- [ ] "Ready for review" label attached to the PR and reviewers mentioned in a comment
|
|
24
|
+
- [ ] Changes have been reviewed by at least one other engineer
|
|
25
|
+
- [ ] Issue from task tracker has a link to this pull request
|
data/.travis.yml
CHANGED
|
@@ -5,7 +5,6 @@ services:
|
|
|
5
5
|
language: ruby
|
|
6
6
|
|
|
7
7
|
rvm:
|
|
8
|
-
- 1.9.3
|
|
9
8
|
- 2.0.0
|
|
10
9
|
- 2.1.0
|
|
11
10
|
- 2.2.2
|
|
@@ -73,12 +72,6 @@ matrix:
|
|
|
73
72
|
exclude:
|
|
74
73
|
# Don't run tests for non-jruby environments with the JDK.
|
|
75
74
|
# NOTE: openjdk7 is missing from these exclusions so that Travis will run at least 1 build for the given rvm.
|
|
76
|
-
- rvm: 1.9.3
|
|
77
|
-
jdk: openjdk8
|
|
78
|
-
- rvm: 1.9.3
|
|
79
|
-
jdk: oraclejdk8
|
|
80
|
-
- rvm: 1.9.3
|
|
81
|
-
jdk: oraclejdk9
|
|
82
75
|
- rvm: 2.0.0
|
|
83
76
|
jdk: openjdk8
|
|
84
77
|
- rvm: 2.0.0
|
|
@@ -149,15 +142,6 @@ matrix:
|
|
|
149
142
|
- rvm: 2.4.5
|
|
150
143
|
gemfile: gemfiles/rails60.gemfile
|
|
151
144
|
# Rails 5.x requires Ruby 2.2.2 or higher
|
|
152
|
-
- rvm: 1.9.3
|
|
153
|
-
gemfile: gemfiles/rails50.gemfile
|
|
154
|
-
- rvm: 1.9.3
|
|
155
|
-
gemfile: gemfiles/rails51.gemfile
|
|
156
|
-
- rvm: 1.9.3
|
|
157
|
-
gemfile: gemfiles/rails52.gemfile
|
|
158
|
-
- rvm: 1.9.3
|
|
159
|
-
gemfile: gemfiles/rails60.gemfile
|
|
160
|
-
# Rails 5.x requires Ruby 2.2.2 or higher
|
|
161
145
|
- rvm: 2.0.0
|
|
162
146
|
gemfile: gemfiles/rails50.gemfile
|
|
163
147
|
- rvm: 2.0.0
|
data/Gemfile
CHANGED
|
@@ -44,18 +44,11 @@ platforms :rbx do
|
|
|
44
44
|
gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
|
|
45
45
|
end
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
elsif RUBY_VERSION.start_with?('2')
|
|
53
|
-
gem 'capistrano', :require => false # rubocop:disable Bundler/DuplicatedGem
|
|
54
|
-
gem 'codacy-coverage'
|
|
55
|
-
gem 'shoryuken' # rubocop:disable Bundler/DuplicatedGem
|
|
56
|
-
gem 'simplecov'
|
|
57
|
-
gem 'sucker_punch', '~> 2.0' # rubocop:disable Bundler/DuplicatedGem
|
|
58
|
-
end
|
|
47
|
+
gem 'capistrano', :require => false
|
|
48
|
+
gem 'codacy-coverage'
|
|
49
|
+
gem 'shoryuken'
|
|
50
|
+
gem 'simplecov'
|
|
51
|
+
gem 'sucker_punch', '~> 2.0'
|
|
59
52
|
|
|
60
53
|
unless is_jruby
|
|
61
54
|
# JRuby doesn't support fork, which is required for this test helper.
|
data/README.md
CHANGED
|
@@ -4,14 +4,6 @@
|
|
|
4
4
|
[](https://dependabot.com/compatibility-score.html?dependency-name=rollbar&package-manager=bundler&version-scheme=semver&new-version=latest)
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
> WARNING: Ruby 2.6.0 introduced a new bug bug ([#15472 -
|
|
8
|
-
Invalid JSON data being sent from Net::HTTP in some cases with Ruby 2.6.0](https://bugs.ruby-lang.org/issues/15472)) that may result in the Rollbar API returning an error when an exception is reported. (See [rollbar-gem issue #797](https://github.com/rollbar/rollbar-gem/issues/797)).
|
|
9
|
-
|
|
10
|
-
> UPDATE: This bug is fixed in Ruby 2.6.1, and rollbar-gem has a safe workaround in version >= 2.19.0.
|
|
11
|
-
If you need to stay on Ruby 2.6.0 for any reason, make sure you have the latest rollbar-gem.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
7
|
[Rollbar](https://rollbar.com) is a real-time exception reporting 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.
|
|
16
8
|
|
|
17
9
|
Rollbar-gem is the SDK for Ruby apps and includes support for apps using Rails, Sinatra, Rack, plain Ruby, and other frameworks.
|
|
@@ -27,10 +19,20 @@ For complete usage instructions and configuration reference, see our [Ruby SDK d
|
|
|
27
19
|
|
|
28
20
|
## Compatibility
|
|
29
21
|
|
|
22
|
+
Version >= 3.0.0 is compatible with Ruby >= 2.0.0.
|
|
23
|
+
|
|
30
24
|
Version >= 2.19.0 is compatible with Ruby >= 1.9.3.
|
|
31
25
|
|
|
32
26
|
Version < 2.19.0 is compatible with Ruby >= 1.8.7.
|
|
33
27
|
|
|
28
|
+
### Ruby 2.6.0
|
|
29
|
+
|
|
30
|
+
> WARNING: Ruby 2.6.0 introduced a new bug bug ([#15472 -
|
|
31
|
+
Invalid JSON data being sent from Net::HTTP in some cases with Ruby 2.6.0](https://bugs.ruby-lang.org/issues/15472)) that may result in the Rollbar API returning an error when an exception is reported. (See [rollbar-gem issue #797](https://github.com/rollbar/rollbar-gem/issues/797)).
|
|
32
|
+
|
|
33
|
+
> UPDATE: This bug is fixed in Ruby 2.6.1, and rollbar-gem has a safe workaround in version >= 2.19.0.
|
|
34
|
+
If you need to stay on Ruby 2.6.0 for any reason, make sure you have the latest rollbar-gem.
|
|
35
|
+
|
|
34
36
|
## Release History & Changelog
|
|
35
37
|
|
|
36
38
|
See our [Releases](https://github.com/rollbar/rollbar-gem/releases) page for a list of all releases, including changes.
|
data/data/rollbar.snippet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.19.
|
|
1
|
+
!function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.19.3/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2),t=o(3);function a(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var l=0;function i(r,e){this.options=r,this._rollbarOldOnError=null;var o=l++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var s=o(4),d=function(r,e){return new i(r,e)},c=function(r){return new s(d,r)};function u(r){return a((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}i.prototype.loadFull=function(r,e,o,n,t){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=a((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(a=n.args||[],i=0;i<a.length;++i)if("function"==typeof(l=a[i])){l(e);break}}"function"==typeof t&&t(e)}()}})),d.insertBefore(i,s)},i.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw e&&("string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e),e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var p="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),f=0;f<p.length;++f)i.prototype[p[f]]=u(p[f]);r.exports={setupShim:function(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var l=new c(e);return a((function(){e.captureUncaught&&(l._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,l,!0),e.wrapGlobalEventHandlers&&t(r,l,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,l,!0);var a=e.autoInstrument;return!1!==e.enabled&&(void 0===a||!0===a||"object"==typeof a&&a.network)&&r.addEventListener&&(r.addEventListener("load",l.captureLoad.bind(l)),r.addEventListener("DOMContentLoaded",l.captureDomContentLoaded.bind(l))),r[o]=l,l}))()}},Rollbar:c}},function(r,e,o){"use strict";function n(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null);var t=e.handleUncaughtException.apply(e,n);o&&o.apply(r,n),"anonymous"===t&&(e.anonymousErrorsPending+=1)}r.exports={captureUncaughtExceptions:function(r,e,o){if(r){var t;if("function"==typeof e._rollbarOldOnError)t=e._rollbarOldOnError;else if(r.onerror){for(t=r.onerror;t._rollbarOldOnError;)t=t._rollbarOldOnError;e._rollbarOldOnError=t}e.handleAnonymousErrors();var a=function(){var o=Array.prototype.slice.call(arguments,0);n(r,e,t,o)};o&&(a._rollbarOldOnError=t),r.onerror=a}},captureUnhandledRejections:function(r,e,o){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var n=function(r){var o,n,t;try{o=r.reason}catch(r){o=void 0}try{n=r.promise}catch(r){n="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,n=t.promise)}catch(r){}o||(o="[unhandledrejection] error getting `reason` from event"),e&&e.handleUnhandledRejection&&e.handleUnhandledRejection(o,n)};n.belongsToShim=o,r._rollbarURH=n,r.addEventListener("unhandledrejection",n)}}}},function(r,e,o){"use strict";function n(r,e,o){if(e.hasOwnProperty&&e.hasOwnProperty("addEventListener")){for(var n=e.addEventListener;n._rollbarOldAdd&&n.belongsToShim;)n=n._rollbarOldAdd;var t=function(e,o,t){n.call(this,e,r.wrap(o),t)};t._rollbarOldAdd=n,t.belongsToShim=o,e.addEventListener=t;for(var a=e.removeEventListener;a._rollbarOldRemove&&a.belongsToShim;)a=a._rollbarOldRemove;var l=function(r,e,o){a.call(this,r,e&&e._rollbar_wrapped||e,o)};l._rollbarOldRemove=a,l.belongsToShim=o,e.removeEventListener=l}}r.exports=function(r,e,o){if(r){var t,a,l="EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(",");for(t=0;t<l.length;++t)r[a=l[t]]&&r[a].prototype&&n(e,r[a].prototype,o)}}},function(r,e,o){"use strict";function n(r,e){this.impl=r(e,this),this.options=e,function(r){for(var e=function(r){return function(){var e=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,e)}},o="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}(n.prototype)}n.prototype._swapAndProcessMessages=function(r,e){var o,n,t;for(this.impl=r(this.options);o=e.shift();)n=o.method,t=o.args,this[n]&&"function"==typeof this[n]&&("captureDomContentLoaded"===n||"captureLoad"===n?this[n].apply(this,[t[0],o.ts]):this[n].apply(this,t));return this},r.exports=n},function(r,e,o){"use strict";r.exports=function(r){return function(e){if(!e&&!window._rollbarInitialized){for(var o,n,t=(r=r||{}).globalAlias||"Rollbar",a=window.rollbar,l=function(r){return new a(r)},i=0;o=window._rollbarShims[i++];)n||(n=o.handler),o.handler._swapAndProcessMessages(l,o.messages);window[t]=n,window._rollbarInitialized=!0}}}}]);
|
data/docs/configuration.md
CHANGED
|
@@ -108,6 +108,13 @@ Rollbar notifier.
|
|
|
108
108
|
|
|
109
109
|
The number of job failures before reporting the failure to Rollbar.
|
|
110
110
|
|
|
111
|
+
### async_skip_report_handler
|
|
112
|
+
|
|
113
|
+
**Default** `nil`
|
|
114
|
+
**Example** `-> (job) { job.cron? }`
|
|
115
|
+
|
|
116
|
+
A handler, should respond to `#call`, receives the job and returns a boolean. If true, reporting errors will be skipped. If provided, dj_threshold isn't checked.
|
|
117
|
+
|
|
111
118
|
### enabled
|
|
112
119
|
|
|
113
120
|
**Default** `true`
|
data/gemfiles/rails30.gemfile
CHANGED
|
@@ -34,17 +34,11 @@ platforms :rbx do
|
|
|
34
34
|
gem 'rubysl-test-unit'
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
gem 'capistrano', :require => false
|
|
43
|
-
gem 'sucker_punch', '~> 2.0'
|
|
44
|
-
gem 'shoryuken'
|
|
45
|
-
gem 'codacy-coverage'
|
|
46
|
-
gem 'simplecov'
|
|
47
|
-
end
|
|
37
|
+
gem 'capistrano', :require => false
|
|
38
|
+
gem 'sucker_punch', '~> 2.0'
|
|
39
|
+
gem 'shoryuken'
|
|
40
|
+
gem 'codacy-coverage'
|
|
41
|
+
gem 'simplecov'
|
|
48
42
|
|
|
49
43
|
gem 'sinatra'
|
|
50
44
|
gem 'delayed_job', :require => false
|
|
@@ -54,13 +48,7 @@ gem 'genspec', '>= 0.2.8'
|
|
|
54
48
|
gem 'girl_friday', '>= 0.11.1'
|
|
55
49
|
gem 'rspec-command'
|
|
56
50
|
|
|
57
|
-
|
|
58
|
-
gem 'public_suffix', '< 1.5'
|
|
59
|
-
gem 'mime-types', '< 3.0'
|
|
60
|
-
gem 'webmock', '< 2.3.0', :require => false
|
|
61
|
-
else
|
|
62
|
-
gem 'webmock', :require => false
|
|
63
|
-
end
|
|
51
|
+
gem 'webmock', :require => false
|
|
64
52
|
|
|
65
53
|
gem 'resque', '< 2.0.0'
|
|
66
54
|
gem 'aws-sdk-sqs'
|
data/gemfiles/rails31.gemfile
CHANGED
|
@@ -33,17 +33,11 @@ platforms :rbx do
|
|
|
33
33
|
gem 'rubysl-test-unit'
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
gem 'capistrano', :require => false
|
|
42
|
-
gem 'sucker_punch'
|
|
43
|
-
gem 'shoryuken'
|
|
44
|
-
gem 'codacy-coverage'
|
|
45
|
-
gem 'simplecov'
|
|
46
|
-
end
|
|
36
|
+
gem 'capistrano', :require => false
|
|
37
|
+
gem 'sucker_punch'
|
|
38
|
+
gem 'shoryuken'
|
|
39
|
+
gem 'codacy-coverage'
|
|
40
|
+
gem 'simplecov'
|
|
47
41
|
|
|
48
42
|
gem 'sinatra'
|
|
49
43
|
gem 'delayed_job', :require => false
|
|
@@ -53,13 +47,7 @@ gem 'girl_friday'
|
|
|
53
47
|
gem 'generator_spec'
|
|
54
48
|
gem 'rspec-command'
|
|
55
49
|
|
|
56
|
-
|
|
57
|
-
gem 'mime-types', '< 3.0'
|
|
58
|
-
gem 'public_suffix', '< 1.5'
|
|
59
|
-
gem 'webmock', '< 2.3.0', :require => false
|
|
60
|
-
else
|
|
61
|
-
gem 'webmock', :require => false
|
|
62
|
-
end
|
|
50
|
+
gem 'webmock', :require => false
|
|
63
51
|
|
|
64
52
|
gem 'resque', '< 2.0.0'
|
|
65
53
|
gem 'aws-sdk-sqs'
|
data/gemfiles/rails32.gemfile
CHANGED
|
@@ -35,17 +35,11 @@ platforms :rbx do
|
|
|
35
35
|
gem 'rubysl-test-unit'
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
gem 'capistrano', :require => false
|
|
44
|
-
gem 'sucker_punch', '~> 2.0'
|
|
45
|
-
gem 'shoryuken'
|
|
46
|
-
gem 'codacy-coverage'
|
|
47
|
-
gem 'simplecov'
|
|
48
|
-
end
|
|
38
|
+
gem 'capistrano', :require => false
|
|
39
|
+
gem 'sucker_punch', '~> 2.0'
|
|
40
|
+
gem 'shoryuken'
|
|
41
|
+
gem 'codacy-coverage'
|
|
42
|
+
gem 'simplecov'
|
|
49
43
|
|
|
50
44
|
gem 'delayed_job', :require => false
|
|
51
45
|
gem 'redis'
|
|
@@ -56,13 +50,7 @@ gem 'generator_spec'
|
|
|
56
50
|
gem 'girl_friday', '>= 0.11.1'
|
|
57
51
|
gem 'rspec-command'
|
|
58
52
|
|
|
59
|
-
|
|
60
|
-
gem 'mime-types', '< 3.0'
|
|
61
|
-
gem 'public_suffix', '< 1.5'
|
|
62
|
-
gem 'webmock', '< 2.3.0', :require => false
|
|
63
|
-
else
|
|
64
|
-
gem 'webmock', :require => false
|
|
65
|
-
end
|
|
53
|
+
gem 'webmock', :require => false
|
|
66
54
|
|
|
67
55
|
gem 'resque', '< 2.0.0'
|
|
68
56
|
gem 'aws-sdk-sqs'
|
data/gemfiles/rails40.gemfile
CHANGED
|
@@ -35,19 +35,12 @@ platforms :rbx do
|
|
|
35
35
|
gem 'rubysl-test-unit'
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
gem 'capistrano', :require => false
|
|
45
|
-
gem 'sucker_punch', '~> 2.0'
|
|
46
|
-
gem 'json', '~> 2.0'
|
|
47
|
-
gem 'shoryuken'
|
|
48
|
-
gem 'codacy-coverage'
|
|
49
|
-
gem 'simplecov'
|
|
50
|
-
end
|
|
38
|
+
gem 'capistrano', :require => false
|
|
39
|
+
gem 'sucker_punch', '~> 2.0'
|
|
40
|
+
gem 'json', '~> 2.0'
|
|
41
|
+
gem 'shoryuken'
|
|
42
|
+
gem 'codacy-coverage'
|
|
43
|
+
gem 'simplecov'
|
|
51
44
|
|
|
52
45
|
gem 'delayed_job', :require => false
|
|
53
46
|
gem 'redis'
|
|
@@ -59,13 +52,7 @@ gem 'generator_spec'
|
|
|
59
52
|
gem 'girl_friday', '>= 0.11.1'
|
|
60
53
|
gem 'rspec-command'
|
|
61
54
|
|
|
62
|
-
|
|
63
|
-
gem 'mime-types', '< 3.0'
|
|
64
|
-
gem 'public_suffix', '< 1.5'
|
|
65
|
-
gem 'webmock', '< 2.3.0', :require => false
|
|
66
|
-
else
|
|
67
|
-
gem 'webmock', :require => false
|
|
68
|
-
end
|
|
55
|
+
gem 'webmock', :require => false
|
|
69
56
|
|
|
70
57
|
gem 'aws-sdk-sqs'
|
|
71
58
|
|
data/gemfiles/rails41.gemfile
CHANGED
|
@@ -32,17 +32,11 @@ platforms :rbx do
|
|
|
32
32
|
gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
gem 'capistrano', :require => false
|
|
41
|
-
gem 'sucker_punch', '~> 2.0'
|
|
42
|
-
gem 'shoryuken'
|
|
43
|
-
gem 'codacy-coverage'
|
|
44
|
-
gem 'simplecov'
|
|
45
|
-
end
|
|
35
|
+
gem 'capistrano', :require => false
|
|
36
|
+
gem 'sucker_punch', '~> 2.0'
|
|
37
|
+
gem 'shoryuken'
|
|
38
|
+
gem 'codacy-coverage'
|
|
39
|
+
gem 'simplecov'
|
|
46
40
|
|
|
47
41
|
gem 'delayed_job', :require => false
|
|
48
42
|
gem 'redis'
|
|
@@ -54,13 +48,7 @@ gem 'generator_spec'
|
|
|
54
48
|
gem 'girl_friday', '>= 0.11.1'
|
|
55
49
|
gem 'rspec-command'
|
|
56
50
|
|
|
57
|
-
|
|
58
|
-
gem 'mime-types', '< 3.0'
|
|
59
|
-
gem 'public_suffix', '< 1.5'
|
|
60
|
-
gem 'webmock', '< 2.3.0', :require => false
|
|
61
|
-
else
|
|
62
|
-
gem 'webmock', :require => false
|
|
63
|
-
end
|
|
51
|
+
gem 'webmock', :require => false
|
|
64
52
|
|
|
65
53
|
gem 'resque'
|
|
66
54
|
gem 'aws-sdk-sqs'
|
data/gemfiles/rails42.gemfile
CHANGED
|
@@ -37,13 +37,8 @@ else
|
|
|
37
37
|
gem 'sidekiq', '>= 2.13.0'
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
gem 'shoryuken', '>= 4.0.0', '<= 4.0.2'
|
|
43
|
-
elsif RUBY_VERSION.start_with?('2')
|
|
44
|
-
gem 'capistrano', :require => false
|
|
45
|
-
gem 'shoryuken'
|
|
46
|
-
end
|
|
40
|
+
gem 'capistrano', :require => false
|
|
41
|
+
gem 'shoryuken'
|
|
47
42
|
|
|
48
43
|
gem 'database_cleaner', '~> 1.0.0'
|
|
49
44
|
gem 'delayed_job', :require => false
|
|
@@ -56,17 +51,10 @@ gem 'sinatra'
|
|
|
56
51
|
|
|
57
52
|
gem 'nokogiri', '~> 1.6.0' if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new('2.0')
|
|
58
53
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
gem 'webmock', '< 2.3.0', :require => false
|
|
64
|
-
else
|
|
65
|
-
gem 'sucker_punch', '~> 2.0'
|
|
66
|
-
gem 'webmock', :require => false
|
|
67
|
-
gem 'codacy-coverage'
|
|
68
|
-
gem 'simplecov'
|
|
69
|
-
end
|
|
54
|
+
gem 'sucker_punch', '~> 2.0'
|
|
55
|
+
gem 'webmock', :require => false
|
|
56
|
+
gem 'codacy-coverage'
|
|
57
|
+
gem 'simplecov'
|
|
70
58
|
|
|
71
59
|
gem 'aws-sdk-sqs'
|
|
72
60
|
|
data/gemfiles/rails50.gemfile
CHANGED
|
@@ -34,15 +34,10 @@ platforms :rbx do
|
|
|
34
34
|
gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
gem 'capistrano', :require => false
|
|
42
|
-
gem 'sucker_punch', '~> 2.0'
|
|
43
|
-
gem 'codacy-coverage'
|
|
44
|
-
gem 'simplecov'
|
|
45
|
-
end
|
|
37
|
+
gem 'capistrano', :require => false
|
|
38
|
+
gem 'sucker_punch', '~> 2.0'
|
|
39
|
+
gem 'codacy-coverage'
|
|
40
|
+
gem 'simplecov'
|
|
46
41
|
|
|
47
42
|
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
|
|
48
43
|
gem 'rack', '2.1.2'
|
|
@@ -62,10 +57,6 @@ unless is_jruby
|
|
|
62
57
|
gem 'rspec-command'
|
|
63
58
|
end
|
|
64
59
|
|
|
65
|
-
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.0')
|
|
66
|
-
gem 'mime-types', '< 3.0'
|
|
67
|
-
end
|
|
68
|
-
|
|
69
60
|
gem 'webmock', :require => false
|
|
70
61
|
|
|
71
62
|
gem 'aws-sdk-sqs'
|
data/gemfiles/rails51.gemfile
CHANGED
|
@@ -34,15 +34,10 @@ platforms :rbx do
|
|
|
34
34
|
gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
gem 'capistrano', :require => false
|
|
42
|
-
gem 'sucker_punch', '~> 2.0'
|
|
43
|
-
gem 'codacy-coverage'
|
|
44
|
-
gem 'simplecov'
|
|
45
|
-
end
|
|
37
|
+
gem 'capistrano', :require => false
|
|
38
|
+
gem 'sucker_punch', '~> 2.0'
|
|
39
|
+
gem 'codacy-coverage'
|
|
40
|
+
gem 'simplecov'
|
|
46
41
|
|
|
47
42
|
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
|
|
48
43
|
gem 'rack', '2.1.2'
|
|
@@ -63,10 +58,6 @@ unless is_jruby
|
|
|
63
58
|
gem 'rspec-command'
|
|
64
59
|
end
|
|
65
60
|
|
|
66
|
-
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.0')
|
|
67
|
-
gem 'mime-types', '< 3.0'
|
|
68
|
-
end
|
|
69
|
-
|
|
70
61
|
gem 'webmock', :require => false
|
|
71
62
|
|
|
72
63
|
gem 'aws-sdk-sqs'
|
|
@@ -19,6 +19,7 @@ module Rollbar
|
|
|
19
19
|
attr_accessor :disable_core_monkey_patch
|
|
20
20
|
attr_accessor :enable_error_context
|
|
21
21
|
attr_accessor :dj_threshold
|
|
22
|
+
attr_accessor :async_skip_report_handler
|
|
22
23
|
attr_accessor :enabled
|
|
23
24
|
attr_accessor :endpoint
|
|
24
25
|
attr_accessor :environment
|
|
@@ -97,6 +98,7 @@ module Rollbar
|
|
|
97
98
|
@disable_rack_monkey_patch = false
|
|
98
99
|
@enable_error_context = true
|
|
99
100
|
@dj_threshold = 0
|
|
101
|
+
@async_skip_report_handler = nil
|
|
100
102
|
@enabled = nil # set to true when configure is called
|
|
101
103
|
@endpoint = DEFAULT_ENDPOINT
|
|
102
104
|
@environment = nil
|
|
@@ -10,10 +10,6 @@ module Rollbar
|
|
|
10
10
|
mod.const_get(target, inherit)
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
-
def ruby_19?
|
|
14
|
-
version?('1.9')
|
|
15
|
-
end
|
|
16
|
-
|
|
17
13
|
def version?(version)
|
|
18
14
|
numbers = version.split('.')
|
|
19
15
|
|
|
@@ -21,8 +17,6 @@ module Rollbar
|
|
|
21
17
|
end
|
|
22
18
|
|
|
23
19
|
def timeout_exceptions
|
|
24
|
-
return [] if ruby_19?
|
|
25
|
-
|
|
26
20
|
[Net::ReadTimeout, Net::OpenTimeout]
|
|
27
21
|
end
|
|
28
22
|
end
|
data/lib/rollbar/notifier.rb
CHANGED
|
@@ -698,8 +698,6 @@ module Rollbar
|
|
|
698
698
|
end
|
|
699
699
|
|
|
700
700
|
def handle_net_retries
|
|
701
|
-
return yield if skip_retries?
|
|
702
|
-
|
|
703
701
|
retries = configuration.net_retries - 1
|
|
704
702
|
|
|
705
703
|
begin
|
|
@@ -713,10 +711,6 @@ module Rollbar
|
|
|
713
711
|
end
|
|
714
712
|
end
|
|
715
713
|
|
|
716
|
-
def skip_retries?
|
|
717
|
-
Rollbar::LanguageSupport.ruby_19?
|
|
718
|
-
end
|
|
719
|
-
|
|
720
714
|
def handle_response(response)
|
|
721
715
|
if response.code == '200'
|
|
722
716
|
log_info '[Rollbar] Success'
|
|
@@ -67,10 +67,7 @@ module Rollbar
|
|
|
67
67
|
|
|
68
68
|
params = decode_www_form(query)
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
# We want this to rebuild array params like foo[]=1&foo[]=2
|
|
73
|
-
URI.escape(CGI.unescape(encoded_query))
|
|
70
|
+
encode_www_form(filter_query_params(params, regex, randomize_scrub_length, scrub_all, whitelist))
|
|
74
71
|
end
|
|
75
72
|
|
|
76
73
|
def decode_www_form(query)
|
|
@@ -78,7 +75,15 @@ module Rollbar
|
|
|
78
75
|
end
|
|
79
76
|
|
|
80
77
|
def encode_www_form(params)
|
|
81
|
-
URI.encode_www_form(params)
|
|
78
|
+
restore_square_brackets(URI.encode_www_form(params))
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def restore_square_brackets(query)
|
|
82
|
+
# We want this to rebuild array params like foo[]=1&foo[]=2
|
|
83
|
+
#
|
|
84
|
+
# URI.encode_www_form follows the spec at https://url.spec.whatwg.org/#concept-urlencoded-serializer
|
|
85
|
+
# and percent encodes square brackets. Here we change them back.
|
|
86
|
+
query.gsub('%5B', '[').gsub('%5D', ']')
|
|
82
87
|
end
|
|
83
88
|
|
|
84
89
|
def filter_query_params(params, regex, randomize_scrub_length, scrub_all, whitelist)
|
data/lib/rollbar/version.rb
CHANGED
data/rollbar.gemspec
CHANGED
|
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
|
|
|
16
16
|
gem.files += ['spec/support/rollbar_api.rb'] # useful helper for app spec/tests.
|
|
17
17
|
gem.name = 'rollbar'
|
|
18
18
|
gem.require_paths = ['lib']
|
|
19
|
-
gem.required_ruby_version = '>=
|
|
19
|
+
gem.required_ruby_version = '>= 2.0.0'
|
|
20
20
|
gem.version = Rollbar::VERSION
|
|
21
21
|
|
|
22
22
|
if gem.respond_to?(:metadata)
|
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:
|
|
4
|
+
version: 3.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rollbar, Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-08-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Easy and powerful exception tracking for Ruby
|
|
14
14
|
email:
|
|
@@ -19,6 +19,7 @@ extensions: []
|
|
|
19
19
|
extra_rdoc_files: []
|
|
20
20
|
files:
|
|
21
21
|
- ".codeclimate.yml"
|
|
22
|
+
- ".github/pull_request_template.md"
|
|
22
23
|
- ".gitignore"
|
|
23
24
|
- ".gitmodules"
|
|
24
25
|
- ".rubocop.yml"
|
|
@@ -152,15 +153,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
152
153
|
requirements:
|
|
153
154
|
- - ">="
|
|
154
155
|
- !ruby/object:Gem::Version
|
|
155
|
-
version:
|
|
156
|
+
version: 2.0.0
|
|
156
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
158
|
requirements:
|
|
158
159
|
- - ">="
|
|
159
160
|
- !ruby/object:Gem::Version
|
|
160
161
|
version: '0'
|
|
161
162
|
requirements: []
|
|
162
|
-
|
|
163
|
-
rubygems_version: 2.7.7
|
|
163
|
+
rubygems_version: 3.1.2
|
|
164
164
|
signing_key:
|
|
165
165
|
specification_version: 4
|
|
166
166
|
summary: Reports exceptions to Rollbar
|