rollbar 3.3.3 → 3.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aecd74252733bfe7a1a83a7319433adf9e22d226742b442e769e42cb09ea6de4
4
- data.tar.gz: 7a49f283424610487fd2ea4f1aad2f0ab6448e09632d7aaa9667ad33c3dd2599
3
+ metadata.gz: 9c64f479a34f9a4292e7c11843f53f3375024d8062847c728885399ce5be8da9
4
+ data.tar.gz: 2d8eb22823cf8e098eca8dab38d3acdb49c49df6043dcbee7908d62384727a88
5
5
  SHA512:
6
- metadata.gz: 7354db5dffcb7cbc1d6971ec5a0865f3e423f17d8db29663f2e7cd39d52b52166994edfed6e280993e36928cb85517d305adf8a85dc69d1f0d4a2013fb6eaa34
7
- data.tar.gz: e775415b7f8bfab6a55af1fffa11d1500f8ac54236f6002695425a25d752f09c3703fde1a3ceef3e3f678cf5f9da8964d2a5c955bfb1247737640103c78a5b0c
6
+ metadata.gz: 105d2bcaf2bc879723b23f3536c9bb6f3b6a6e147472510f0995a5c52f85c58cdebe904f75ef5cfb1636c21cdc9777cf9ae1faf08777ed8c4fb3842309c913b9
7
+ data.tar.gz: 3c9b51d3d2a0335421441032db51351b373c14c3c1e2a79d25f3fe1030f441453bd55612719a0b387357f083ebc1bcbcc5ad161491c798667fcf104947971d9b
@@ -8,7 +8,7 @@ on:
8
8
 
9
9
  jobs:
10
10
  build:
11
- runs-on: ubuntu-18.04
11
+ runs-on: ubuntu-20.04
12
12
  strategy:
13
13
  matrix:
14
14
  ruby-version: [2.5.3, 2.6.0, 2.6.6, 2.7.2]
@@ -19,6 +19,10 @@ jobs:
19
19
  - gemfiles/rails60.gemfile
20
20
  - gemfiles/rails61.gemfile
21
21
  include:
22
+ - gemfile: gemfiles/rails71.gemfile
23
+ ruby-version: 3.2.2
24
+ - gemfile: gemfiles/rails71.gemfile
25
+ ruby-version: 3.1.1
22
26
  - gemfile: gemfiles/rails70.gemfile
23
27
  ruby-version: 3.1.1
24
28
  - gemfile: gemfiles/rails70.gemfile
@@ -47,10 +51,6 @@ jobs:
47
51
  ruby-version: 2.2.10
48
52
  - gemfile: gemfiles/rails32.gemfile
49
53
  ruby-version: 2.1.9
50
- - gemfile: gemfiles/rails31.gemfile
51
- ruby-version: 2.0.0
52
- - gemfile: gemfiles/rails30.gemfile
53
- ruby-version: 2.0.0
54
54
 
55
55
  steps:
56
56
  - uses: actions/checkout@v2
@@ -68,21 +68,6 @@ jobs:
68
68
  with:
69
69
  ruby-version: ${{ matrix.ruby-version }}
70
70
 
71
- - name: Setup Ruby 2.0.0
72
- if: ${{ matrix.ruby-version == '2.0.0' }}
73
- timeout-minutes: 15
74
- run: |
75
- sudo apt-get update -y
76
- sudo apt-get install -y libssl1.0-dev
77
- wget http://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz
78
- tar xvfz ruby-2.0.0-p648.tar.gz
79
- cd ruby-2.0.0-p648
80
- ./configure && make && sudo make install-nodoc
81
-
82
- - name: Ruby 2.0.0, install bundler
83
- if: ${{ matrix.ruby-version == '2.0.0' }}
84
- run: sudo gem install bundler -v 1.17.3
85
-
86
71
  - name: Rails 4.2 ensure bundler version
87
72
  if: ${{ matrix.gemfile == 'gemfiles/rails42.gemfile' }}
88
73
  run: |
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # This Gemfile is compatible with Ruby 2.5.0 or greater. To test with
2
2
  # earlier Rubies, use the appropriate Gemfile from the ./gemfiles/ dir.
3
- ruby '>= 2.5.0'
3
+ ruby '3.2.2'
4
4
 
5
5
  source 'https://rubygems.org'
6
6
 
@@ -13,7 +13,7 @@ ENV['CURRENT_GEMFILE'] ||= __FILE__
13
13
 
14
14
  is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby')
15
15
 
16
- GEMFILE_RAILS_VERSION = '~> 6.1.5'.freeze
16
+ GEMFILE_RAILS_VERSION = '~> 7.1.0'.freeze
17
17
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
18
18
  gem 'appraisal'
19
19
  gem 'jruby-openssl', :platform => :jruby
@@ -21,8 +21,10 @@ gem 'rails', GEMFILE_RAILS_VERSION
21
21
  gem 'rake'
22
22
  if GEMFILE_RAILS_VERSION < '6.0'
23
23
  gem 'rspec-rails', '~> 3.4'
24
- else
24
+ elsif GEMFILE_RAILS_VERSION < '7.0'
25
25
  gem 'rspec-rails', '~> 4.0.2'
26
+ else
27
+ gem 'rspec-rails', '~> 6.0.3'
26
28
  end
27
29
 
28
30
  if GEMFILE_RAILS_VERSION < '6.0'
@@ -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.25.0/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}}}}]);
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.26.1/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||function(r){return!("object"!=typeof r||void 0!==r.page&&!r.page)}(a))&&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}}}}]);
@@ -59,10 +59,10 @@ end
59
59
 
60
60
  ### default_logger
61
61
 
62
- **Default** `Logger.new(STDERR)`
62
+ **Default** `lambda { Logger.new(STDERR) }`
63
63
 
64
64
  What logger to use for printing debugging and informational messages during
65
- operation.
65
+ operation. Expects a callable object that returns a logger interface.
66
66
 
67
67
  ### logger_level
68
68
 
@@ -33,6 +33,7 @@ gem 'database_cleaner', '~> 1.0.0'
33
33
  gem 'delayed_job', :require => false
34
34
  gem 'generator_spec'
35
35
  gem 'girl_friday', '>= 0.11.1'
36
+ gem 'loofah', '~>2.19.1'
36
37
  gem 'redis', '<= 3.3.5'
37
38
  gem 'resque'
38
39
  gem 'rspec-command'
@@ -6,10 +6,10 @@ is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && RUBY_ENGINE == '
6
6
 
7
7
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
8
8
  gem 'jruby-openssl', :platform => :jruby
9
- gem 'rails', '~> 7.0.2.3'
9
+ gem 'rails', '~> 7.0.8'
10
10
  gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
11
11
 
12
- gem 'rspec-rails', '~> 4.0.2'
12
+ gem 'rspec-rails', '~> 6.0.3'
13
13
 
14
14
  gem 'rake'
15
15
 
@@ -0,0 +1,52 @@
1
+ require 'rubygems/version'
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby')
6
+
7
+ gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
8
+ gem 'jruby-openssl', :platform => :jruby
9
+ gem 'rails', '~> 7.1.0'
10
+ gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
11
+
12
+ gem 'rspec-rails', '~> 6.0.3'
13
+
14
+ gem 'rake'
15
+
16
+ gem 'sidekiq', '>= 6.4.0'
17
+
18
+ platforms :rbx do
19
+ gem 'minitest'
20
+ gem 'racc'
21
+ gem 'rubinius-developer_tools'
22
+ gem 'rubysl', '~> 2.0' if RUBY_VERSION.start_with?('2')
23
+ end
24
+
25
+ gem 'sucker_punch', '~> 2.0'
26
+
27
+ # We need last sinatra that uses rack 2.x and ruby 2.5.x
28
+ gem 'sinatra', :git => 'https://github.com/sinatra/sinatra', :tag =>'v2.1.0'
29
+
30
+ gem 'database_cleaner'
31
+ gem 'delayed_job', '4.1.10', :require => false
32
+ gem 'generator_spec'
33
+ gem 'redis', '<= 4.8.0'
34
+ gem 'resque'
35
+ gem 'secure_headers', '~> 6.3.2', :require => false
36
+ gem 'simplecov'
37
+
38
+ unless is_jruby
39
+ # JRuby doesn't support fork, which is required for this test helper.
40
+ gem 'rspec-command'
41
+ end
42
+
43
+ gem 'mime-types'
44
+
45
+ gem 'webmock', :require => false
46
+
47
+ gem 'aws-sdk-sqs'
48
+ gem 'shoryuken'
49
+
50
+ gem 'capistrano', :require => false
51
+
52
+ gemspec :path => '../'
@@ -11,19 +11,6 @@ APP_PATH = File.expand_path(
11
11
 
12
12
  module Rails
13
13
  class RollbarRunner
14
- class GemResolver
15
- def railties_gem
16
- Gem::Specification.find_by_name('railties')
17
- end
18
- end
19
-
20
- class LegacyGemResolver
21
- def railties_gem
22
- searcher = Gem::GemPathSearcher.new
23
- searcher.find('rails')
24
- end
25
- end
26
-
27
14
  attr_reader :command
28
15
 
29
16
  def initialize
@@ -75,12 +62,7 @@ module Rails
75
62
  end
76
63
 
77
64
  def railties_gem
78
- resolver_class = if Gem::Specification.respond_to?(:find_by_name)
79
- GemResolver
80
- else
81
- LegacyGemResolver
82
- end
83
- gem = resolver_class.new.railties_gem
65
+ gem = Gem::Specification.find_by_name('railties')
84
66
 
85
67
  abort 'railties gem not found' unless gem
86
68
 
@@ -324,7 +324,7 @@ module Rollbar
324
324
  def send_extra_frame_data=(value)
325
325
  unless SEND_EXTRA_FRAME_DATA_OPTIONS.include?(value)
326
326
  logger.warning(
327
- "Wrong 'send_extra_frame_data' value, :none, :app or :full is expected"
327
+ "Wrong 'send_extra_frame_data' value, :none, :app or :all is expected"
328
328
  )
329
329
 
330
330
  return
@@ -5,13 +5,8 @@ module Rollbar
5
5
  end
6
6
 
7
7
  def self.setup
8
- if String.instance_methods.include?(:encode)
9
- require 'rollbar/encoding/encoder'
10
- self.encoding_class = Rollbar::Encoding::Encoder
11
- else
12
- require 'rollbar/encoding/legacy_encoder'
13
- self.encoding_class = Rollbar::Encoding::LegacyEncoder
14
- end
8
+ require 'rollbar/encoding/encoder'
9
+ self.encoding_class = Rollbar::Encoding::Encoder
15
10
  end
16
11
 
17
12
  def self.encode(object)
@@ -4,7 +4,7 @@ module Rollbar
4
4
  module ShowExceptions
5
5
  include ExceptionReporter
6
6
 
7
- def render_exception_with_rollbar(env, exception)
7
+ def render_exception_with_rollbar(env, exception, wrapper = nil)
8
8
  key = 'action_dispatch.show_detailed_exceptions'
9
9
 
10
10
  if exception.is_a?(ActionController::RoutingError) && env[key]
@@ -15,7 +15,12 @@ module Rollbar
15
15
  end
16
16
  end
17
17
 
18
- render_exception_without_rollbar(env, exception)
18
+ # Rails 7.1 changes the method signature for render_exception.
19
+ if self.class.instance_method(:render_exception_without_rollbar).arity == 2
20
+ render_exception_without_rollbar(env, exception)
21
+ else
22
+ render_exception_without_rollbar(env, exception, wrapper)
23
+ end
19
24
  end
20
25
 
21
26
  def call_with_rollbar(env)
@@ -27,5 +27,9 @@ if defined?(ActiveSupport) && ActiveSupport.respond_to?(:on_load)
27
27
  ActionMailer::DeliveryJob.send(:include,
28
28
  Rollbar::ActiveJob)
29
29
  end
30
+ # Rails >= 6.0
31
+ if defined?(ActionMailer::MailDeliveryJob)
32
+ ActionMailer::MailDeliveryJob.send(:include, Rollbar::ActiveJob)
33
+ end
30
34
  end
31
35
  end
@@ -1,3 +1,3 @@
1
1
  module Rollbar
2
- VERSION = '3.3.3'.freeze
2
+ VERSION = '3.4.1'.freeze
3
3
  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: 3.3.3
4
+ version: 3.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rollbar, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-20 00:00:00.000000000 Z
11
+ date: 2023-10-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Track and debug errors in your Ruby applications with ease using Rollbar.
14
14
  With this gem, you can easily monitor and report on exceptions and other errors
@@ -53,6 +53,7 @@ files:
53
53
  - gemfiles/rails60.gemfile
54
54
  - gemfiles/rails61.gemfile
55
55
  - gemfiles/rails70.gemfile
56
+ - gemfiles/rails71.gemfile
56
57
  - lib/generators/rollbar/rollbar_generator.rb
57
58
  - lib/generators/rollbar/templates/initializer.erb
58
59
  - lib/rails/rollbar_runner.rb
@@ -72,7 +73,6 @@ files:
72
73
  - lib/rollbar/deploy.rb
73
74
  - lib/rollbar/encoding.rb
74
75
  - lib/rollbar/encoding/encoder.rb
75
- - lib/rollbar/encoding/legacy_encoder.rb
76
76
  - lib/rollbar/exception_reporter.rb
77
77
  - lib/rollbar/exceptions.rb
78
78
  - lib/rollbar/item.rb
@@ -166,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  - !ruby/object:Gem::Version
167
167
  version: '0'
168
168
  requirements: []
169
- rubygems_version: 3.1.4
169
+ rubygems_version: 3.4.1
170
170
  signing_key:
171
171
  specification_version: 4
172
172
  summary: Reports exceptions to Rollbar
@@ -1,20 +0,0 @@
1
- require 'iconv'
2
-
3
- module Rollbar
4
- module Encoding
5
- class LegacyEncoder
6
- attr_accessor :object
7
-
8
- def initialize(object)
9
- @object = object
10
- end
11
-
12
- def encode
13
- value = object.to_s
14
- encoded_value = ::Iconv.conv('UTF-8//IGNORE', 'UTF-8', value)
15
-
16
- object.is_a?(Symbol) ? encoded_value.to_sym : encoded_value
17
- end
18
- end
19
- end
20
- end