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 +4 -4
- data/.github/workflows/ci.yml +5 -20
- data/Gemfile +5 -3
- data/data/rollbar.snippet.js +1 -1
- data/docs/configuration.md +2 -2
- data/gemfiles/rails42.gemfile +1 -0
- data/gemfiles/rails70.gemfile +2 -2
- data/gemfiles/rails71.gemfile +52 -0
- data/lib/rails/rollbar_runner.rb +1 -19
- data/lib/rollbar/configuration.rb +1 -1
- data/lib/rollbar/encoding.rb +2 -7
- data/lib/rollbar/middleware/rails/show_exceptions.rb +7 -2
- data/lib/rollbar/plugins/active_job.rb +4 -0
- data/lib/rollbar/version.rb +1 -1
- metadata +4 -4
- data/lib/rollbar/encoding/legacy_encoder.rb +0 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9c64f479a34f9a4292e7c11843f53f3375024d8062847c728885399ce5be8da9
|
|
4
|
+
data.tar.gz: 2d8eb22823cf8e098eca8dab38d3acdb49c49df6043dcbee7908d62384727a88
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 105d2bcaf2bc879723b23f3536c9bb6f3b6a6e147472510f0995a5c52f85c58cdebe904f75ef5cfb1636c21cdc9777cf9ae1faf08777ed8c4fb3842309c913b9
|
|
7
|
+
data.tar.gz: 3c9b51d3d2a0335421441032db51351b373c14c3c1e2a79d25f3fe1030f441453bd55612719a0b387357f083ebc1bcbcc5ad161491c798667fcf104947971d9b
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -8,7 +8,7 @@ on:
|
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
10
|
build:
|
|
11
|
-
runs-on: ubuntu-
|
|
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 '
|
|
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 = '~>
|
|
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
|
-
|
|
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'
|
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.
|
|
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}}}}]);
|
data/docs/configuration.md
CHANGED
|
@@ -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
|
|
data/gemfiles/rails42.gemfile
CHANGED
data/gemfiles/rails70.gemfile
CHANGED
|
@@ -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.
|
|
9
|
+
gem 'rails', '~> 7.0.8'
|
|
10
10
|
gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
|
|
11
11
|
|
|
12
|
-
gem 'rspec-rails', '~>
|
|
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 => '../'
|
data/lib/rails/rollbar_runner.rb
CHANGED
|
@@ -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
|
-
|
|
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 :
|
|
327
|
+
"Wrong 'send_extra_frame_data' value, :none, :app or :all is expected"
|
|
328
328
|
)
|
|
329
329
|
|
|
330
330
|
return
|
data/lib/rollbar/encoding.rb
CHANGED
|
@@ -5,13 +5,8 @@ module Rollbar
|
|
|
5
5
|
end
|
|
6
6
|
|
|
7
7
|
def self.setup
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
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
|
data/lib/rollbar/version.rb
CHANGED
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.
|
|
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:
|
|
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
|
|
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
|