rollbar 3.7.0 → 3.8.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/workflows/ci.yml +8 -3
- data/Gemfile +6 -1
- data/data/rollbar.snippet.js +1 -1
- data/gemfiles/rails61.gemfile +1 -1
- data/gemfiles/rails70.gemfile +2 -2
- data/gemfiles/rails71.gemfile +2 -2
- data/gemfiles/rails72.gemfile +5 -1
- data/gemfiles/rails81.gemfile +5 -1
- data/lib/no_rails_middleware.rb +9 -0
- data/lib/rollbar/encoding.rb +6 -5
- data/lib/rollbar/plugins/rails/railtie32.rb +4 -2
- data/lib/rollbar/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4a60f2f750eb7eaa04d76e40766bba5253621af2730192dce31f67294519ab55
|
|
4
|
+
data.tar.gz: bde4e141e9f5085ebb5e7caaa540dde1c62a02314b1328a40ab649ed515ad88d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 823c8aeb46d2408b0bcc968006446506978cb7e37ddc296752c18fc83944f1920c3d46e5e095af9cc2b6a6772d89bd74013818b3de5e88d38506758138d5cd59
|
|
7
|
+
data.tar.gz: f42f3d743ca977deb8e73de5040a921fa090b3f50f941e1f5d263dcfac4447d093116e88c34a8c64891b9364780dff118c1ab557a0064de9f1f759f930b13304
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -10,6 +10,7 @@ jobs:
|
|
|
10
10
|
build:
|
|
11
11
|
runs-on: ubuntu-22.04
|
|
12
12
|
strategy:
|
|
13
|
+
fail-fast: false
|
|
13
14
|
matrix:
|
|
14
15
|
ruby-version: [2.5.9, 2.6.0, 2.6.10, 2.7.8]
|
|
15
16
|
gemfile:
|
|
@@ -20,15 +21,19 @@ jobs:
|
|
|
20
21
|
- gemfiles/rails61.gemfile
|
|
21
22
|
include:
|
|
22
23
|
- gemfile: gemfiles/rails81.gemfile
|
|
23
|
-
ruby-version:
|
|
24
|
+
ruby-version: 4.0.0
|
|
25
|
+
- gemfile: gemfiles/rails81.gemfile
|
|
26
|
+
ruby-version: 3.4.8
|
|
24
27
|
- gemfile: gemfiles/rails81.gemfile
|
|
25
28
|
ruby-version: 3.3.10
|
|
26
29
|
- gemfile: gemfiles/rails72.gemfile
|
|
27
|
-
ruby-version:
|
|
30
|
+
ruby-version: 4.0.0
|
|
31
|
+
- gemfile: gemfiles/rails72.gemfile
|
|
32
|
+
ruby-version: 3.4.8
|
|
28
33
|
- gemfile: gemfiles/rails72.gemfile
|
|
29
34
|
ruby-version: 3.3.10
|
|
30
35
|
- gemfile: gemfiles/rails71.gemfile
|
|
31
|
-
ruby-version: 3.4.
|
|
36
|
+
ruby-version: 3.4.8
|
|
32
37
|
- gemfile: gemfiles/rails71.gemfile
|
|
33
38
|
ruby-version: 3.3.10
|
|
34
39
|
- gemfile: gemfiles/rails70.gemfile
|
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 '4.0.0'
|
|
4
4
|
|
|
5
5
|
source 'https://rubygems.org'
|
|
6
6
|
|
|
@@ -74,6 +74,11 @@ if GEM_VERSION_RAILS < Gem::Version.new('6.0')
|
|
|
74
74
|
else
|
|
75
75
|
gem 'delayed_job', '~> 4.1', :require => false
|
|
76
76
|
end
|
|
77
|
+
|
|
78
|
+
gem 'cgi' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.5.0')
|
|
79
|
+
|
|
80
|
+
gem 'benchmark' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('4.0.0')
|
|
81
|
+
|
|
77
82
|
gem 'generator_spec'
|
|
78
83
|
gem 'redis', '<= 4.8.0'
|
|
79
84
|
gem 'resque', '< 2.0.0'
|
data/data/rollbar.snippet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(
|
|
1
|
+
!function(){"use strict";var r=function(){},n={debug:0,info:1,warn:2,error:3,disable:4},o={error:function(){for(var n=arguments.length,o=new Array(n),e=0;e<n;e++)o[e]=arguments[e];return r("error",o)},warn:function(){for(var n=arguments.length,o=new Array(n),e=0;e<n;e++)o[e]=arguments[e];return r("warn",o)},info:function(){for(var n=arguments.length,o=new Array(n),e=0;e<n;e++)o[e]=arguments[e];return r("info",o)},debug:function(){for(var n=arguments.length,o=new Array(n),e=0;e<n;e++)o[e]=arguments[e];return r("debug",o)},log:function(){for(var n=arguments.length,o=new Array(n),e=0;e<n;e++)o[e]=arguments[e];return r("info",o)},init:function(o){var e=o.logLevel;r=function(r,o){n[r]<n[e]||(o.unshift("Rollbar:"),console[r].apply(console,o))}}},e=o;function t(r,n){return null!=r&&(Object.hasOwn?Object.hasOwn(r,n):Object.prototype.hasOwnProperty.call(r,n))}function a(r,n){(null==n||n>r.length)&&(n=r.length);for(var o=0,e=Array(n);o<n;o++)e[o]=r[o];return e}function l(r,n){this.impl=r(n,this),this.options=n,function(r){var n,o=function(r){return function(){var n=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,n)}},e=function(r,n){var o="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!o){if(Array.isArray(r)||(o=function(r,n){if(r){if("string"==typeof r)return a(r,n);var o={}.toString.call(r).slice(8,-1);return"Object"===o&&r.constructor&&(o=r.constructor.name),"Map"===o||"Set"===o?Array.from(r):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?a(r,n):void 0}}(r))||n&&r&&"number"==typeof r.length){o&&(r=o);var e=0,t=function(){};return{s:t,n:function(){return e>=r.length?{done:!0}:{done:!1,value:r[e++]}},e:function(r){throw r},f:t}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,i=!0,c=!1;return{s:function(){o=o.call(r)},n:function(){var r=o.next();return i=r.done,r},e:function(r){c=!0,l=r},f:function(){try{i||null==o.return||o.return()}finally{if(c)throw l}}}}("log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","));try{for(e.s();!(n=e.n()).done;){var t=n.value;r[t]=o(t)}}catch(r){e.e(r)}finally{e.f()}}(l.prototype)}l.prototype._swapAndProcessMessages=function(r,n){var o,e,t;for(this.impl=r(this.options);o=n.shift();)e=o.method,t=o.args,this[e]&&"function"==typeof this[e]&&("captureDomContentLoaded"===e||"captureLoad"===e?this[e].apply(this,[t[0],o.ts]):this[e].apply(this,t));return this};var i=l;function c(r,n,o){if(t(n,"addEventListener")){for(var e=n.addEventListener;e._rollbarOldAdd&&e.belongsToShim;)e=e._rollbarOldAdd;var a=function(n,o,t){e.call(this,n,r.wrap(o),t)};a._rollbarOldAdd=e,a.belongsToShim=o,n.addEventListener=a;for(var l=n.removeEventListener;l._rollbarOldRemove&&l.belongsToShim;)l=l._rollbarOldRemove;var i=function(r,n,o){l.call(this,r,n&&n._rollbar_wrapped||n,o)};i._rollbarOldRemove=l,i.belongsToShim=o,n.removeEventListener=i}}function u(r,n){(null==n||n>r.length)&&(n=r.length);for(var o=0,e=Array(n);o<n;o++)e[o]=r[o];return e}function s(r){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},s(r)}function d(r){return function(){try{return r.apply(this,arguments)}catch(r){try{e.error("[Rollbar]: Internal error",r)}catch(r){}}}}var f=0;function p(r,n){this.options=r,this._rollbarOldOnError=null;var o=f++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:n,messages:[]})}var b=function(r,n){return new p(r,n)},h=function(r){return new i(b,r)};function y(r){return d(function(){var n=Array.prototype.slice.call(arguments,0),o={shim:this,method:r,args:n,ts:new Date};window._rollbarShims[this.shimId()].messages.push(o)})}p.prototype.loadFull=function(r,n,o,e,t){var a=!1,l=n.createElement("script"),i=n.getElementsByTagName("script")[0],c=i.parentNode;l.crossOrigin="",l.src=e.rollbarJsUrl,o||(l.async=!0),l.onload=l.onreadystatechange=d(function(){if(!(a||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){l.onload=l.onreadystatechange=null;try{c.removeChild(l)}catch(r){}a=!0,function(){var n;if(void 0===r._rollbarDidLoad){n=new Error("rollbar.js did not load");for(var o,e,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];e=o.shift();)for(a=e.args||[],i=0;i<a.length;++i)if("function"==typeof(l=a[i])){l(n);break}}"function"==typeof t&&t(n)}()}}),c.insertBefore(l,i)},p.prototype.wrap=function(r,n,o){try{var e;if(e="function"==typeof n?n:function(){return n||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped)for(var a in r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var n=o;throw n&&("string"==typeof n&&(n=new String(n)),n._rollbarContext=e()||{},n._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=n),n}},r._rollbar_wrapped._isWrap=!0,r)t(r,a)&&(r._rollbar_wrapped[a]=r[a]);return r._rollbar_wrapped}catch(n){return r}};var v,m=function(r){var n="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!n){if(Array.isArray(r)||(n=function(r,n){if(r){if("string"==typeof r)return u(r,n);var o={}.toString.call(r).slice(8,-1);return"Object"===o&&r.constructor&&(o=r.constructor.name),"Map"===o||"Set"===o?Array.from(r):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?u(r,n):void 0}}(r))){n&&(r=n);var o=0,e=function(){};return{s:e,n:function(){return o>=r.length?{done:!0}:{done:!1,value:r[o++]}},e:function(r){throw r},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var t,a=!0,l=!1;return{s:function(){n=n.call(r)},n:function(){var r=n.next();return a=r.done,r},e:function(r){l=!0,t=r},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw t}}}}("log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","));try{for(m.s();!(v=m.n()).done;){var g=v.value;p.prototype[g]=y(g)}}catch(r){m.e(r)}finally{m.f()}var w="https://cdn.rollbar.com/rollbarjs/refs/tags/v3.1.0/rollbar.min.js";if(_rollbarConfig=_rollbarConfig||{},!_rollbarConfig.rollbarJsUrl){var _="replay"in _rollbarConfig;_rollbarConfig.rollbarJsUrl=_?w.replace("rollbar.min.js","rollbar.replay.min.js"):w}_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var E,S=function(r,n){if(r){var o=n.globalAlias||"Rollbar";if("object"===s(r[o]))return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var e=new h(n);return d(function(){n.captureUncaught&&(e._rollbarOldOnError=r.onerror,function(r,n){if(r){var o;if("function"==typeof n._rollbarOldOnError)o=n._rollbarOldOnError;else if(r.onerror){for(o=r.onerror;o._rollbarOldOnError;)o=o._rollbarOldOnError;n._rollbarOldOnError=o}n.handleAnonymousErrors();var e=function(){var e=Array.prototype.slice.call(arguments,0);!function(r,n,o,e){r._rollbarWrappedError&&(e[4]||(e[4]=r._rollbarWrappedError),e[5]||(e[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null);var t=n.handleUncaughtException.apply(n,e);o&&o.apply(r,e),"anonymous"===t&&(n.anonymousErrorsPending+=1)}(r,n,o,e)};e._rollbarOldOnError=o,r.onerror=e}}(r,e),n.wrapGlobalEventHandlers&&function(r,n,o){if(r){var e,t,a="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(e=0;e<a.length;++e)r[t=a[e]]&&r[t].prototype&&c(n,r[t].prototype,o)}}(r,e,!0)),n.captureUnhandledRejections&&function(r,n){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var o=function(r){var o,e,t;try{o=r.reason}catch(r){o=void 0}try{e=r.promise}catch(r){e="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,e=t.promise)}catch(r){}o||(o="[unhandledrejection] error getting `reason` from event"),n&&n.handleUnhandledRejection&&n.handleUnhandledRejection(o,e)};o.belongsToShim=!0,r._rollbarURH=o,r.addEventListener("unhandledrejection",o)}}(r,e);var t=n.autoInstrument;return!1!==n.enabled&&(void 0===t||!0===t||function(r){return!("object"!==s(r)||void 0!==r.page&&!r.page)}(t))&&r.addEventListener&&(r.addEventListener("load",e.captureLoad.bind(e)),r.addEventListener("DOMContentLoaded",e.captureDomContentLoaded.bind(e))),r[o]=e,e})()}}(window,_rollbarConfig),O=(E=_rollbarConfig,function(r){if(!r&&!window._rollbarInitialized){for(var n,o,e=(E=E||{}).globalAlias||"Rollbar",t=window.rollbar,a=function(r){return new t(r)},l=0;n=window._rollbarShims[l++];)o||(o=n.handler),n.handler._swapAndProcessMessages(a,n.messages);window[e]=o,window._rollbarInitialized=!0}});window.rollbar=h,S.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,O)}();
|
data/gemfiles/rails61.gemfile
CHANGED
data/gemfiles/rails70.gemfile
CHANGED
|
@@ -6,7 +6,7 @@ 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.10'
|
|
10
10
|
gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
|
|
11
11
|
|
|
12
12
|
gem 'rspec-rails', '~> 6.0.3'
|
|
@@ -32,7 +32,7 @@ gem 'database_cleaner'
|
|
|
32
32
|
gem 'delayed_job', '4.1.10', :require => false
|
|
33
33
|
gem 'generator_spec'
|
|
34
34
|
gem 'redis', '<= 4.8.0'
|
|
35
|
-
gem 'resque'
|
|
35
|
+
gem 'resque', '2.7.0'
|
|
36
36
|
gem 'secure_headers', '~> 6.3.2', :require => false
|
|
37
37
|
gem 'simplecov'
|
|
38
38
|
|
data/gemfiles/rails71.gemfile
CHANGED
|
@@ -6,7 +6,7 @@ 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.1.
|
|
9
|
+
gem 'rails', '~> 7.1.6'
|
|
10
10
|
gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
|
|
11
11
|
|
|
12
12
|
gem 'rspec-rails', '~> 6.0.3'
|
|
@@ -31,7 +31,7 @@ gem 'database_cleaner'
|
|
|
31
31
|
gem 'delayed_job', '4.1.10', :require => false
|
|
32
32
|
gem 'generator_spec'
|
|
33
33
|
gem 'redis', '<= 4.8.0'
|
|
34
|
-
gem 'resque'
|
|
34
|
+
gem 'resque', '2.7.0'
|
|
35
35
|
gem 'secure_headers', '~> 6.3.2', :require => false
|
|
36
36
|
gem 'simplecov'
|
|
37
37
|
|
data/gemfiles/rails72.gemfile
CHANGED
|
@@ -6,7 +6,7 @@ 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.2.
|
|
9
|
+
gem 'rails', '~> 7.2.3'
|
|
10
10
|
gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
|
|
11
11
|
|
|
12
12
|
gem 'rspec-rails', '~> 6.0.3'
|
|
@@ -27,6 +27,10 @@ gem 'sucker_punch', '~> 2.0'
|
|
|
27
27
|
# We need last sinatra that uses rack 2.x and ruby 2.5.x
|
|
28
28
|
gem 'sinatra', :git => 'https://github.com/sinatra/sinatra', :tag =>'v2.1.0'
|
|
29
29
|
|
|
30
|
+
gem 'cgi' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.5.0')
|
|
31
|
+
|
|
32
|
+
gem 'benchmark' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('4.0.0')
|
|
33
|
+
|
|
30
34
|
gem 'database_cleaner'
|
|
31
35
|
gem 'delayed_job', '4.1.10', :require => false
|
|
32
36
|
gem 'generator_spec'
|
data/gemfiles/rails81.gemfile
CHANGED
|
@@ -6,7 +6,7 @@ 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', '~> 8.1.
|
|
9
|
+
gem 'rails', '~> 8.1.1'
|
|
10
10
|
gem 'sqlite3', '~> 2.1', :platform => [:ruby, :mswin, :mingw]
|
|
11
11
|
|
|
12
12
|
gem 'rspec-rails', '~> 6.0.3'
|
|
@@ -27,6 +27,10 @@ gem 'sucker_punch', '~> 2.0'
|
|
|
27
27
|
# We need last sinatra that uses rack 2.x and ruby 2.5.x
|
|
28
28
|
gem 'sinatra', :git => 'https://github.com/sinatra/sinatra', :tag =>'v2.1.0'
|
|
29
29
|
|
|
30
|
+
gem 'cgi' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.5.0')
|
|
31
|
+
|
|
32
|
+
gem 'benchmark' if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('4.0.0')
|
|
33
|
+
|
|
30
34
|
gem 'database_cleaner'
|
|
31
35
|
gem 'delayed_job', '4.1.13', :require => false
|
|
32
36
|
gem 'generator_spec'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# When required in the application's Gemfile, this prevents the Rollbar
|
|
2
|
+
# middleware from being inserted into the Rails middleware stack.
|
|
3
|
+
#
|
|
4
|
+
# ex:
|
|
5
|
+
# `gem 'rollbar', require: ['no_rails_middleware', 'rollbar']`
|
|
6
|
+
#
|
|
7
|
+
module Rollbar
|
|
8
|
+
NO_RAILS_MIDDLEWARE = true
|
|
9
|
+
end
|
data/lib/rollbar/encoding.rb
CHANGED
|
@@ -10,11 +10,12 @@ module Rollbar
|
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def self.encode(object)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
case object
|
|
14
|
+
when Numeric, TrueClass, FalseClass, NilClass
|
|
15
|
+
object
|
|
16
|
+
else
|
|
17
|
+
encoding_class.new(object).encode
|
|
18
|
+
end
|
|
18
19
|
end
|
|
19
20
|
end
|
|
20
21
|
end
|
|
@@ -9,8 +9,10 @@ module Rollbar
|
|
|
9
9
|
require 'rollbar/middleware/rails/rollbar'
|
|
10
10
|
require 'rollbar/middleware/rails/show_exceptions'
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
unless defined?(Rollbar::NO_RAILS_MIDDLEWARE) && Rollbar::NO_RAILS_MIDDLEWARE
|
|
13
|
+
app.config.middleware.insert_after ActionDispatch::DebugExceptions,
|
|
14
|
+
Rollbar::Middleware::Rails::RollbarMiddleware
|
|
15
|
+
end
|
|
14
16
|
ActionDispatch::DebugExceptions.send(:include,
|
|
15
17
|
Rollbar::Middleware::Rails::ShowExceptions)
|
|
16
18
|
end
|
data/lib/rollbar/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rollbar
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rollbar, Inc.
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 2026-05-06 00:00:00.000000000 Z
|
|
11
11
|
dependencies: []
|
|
12
12
|
description: Track and debug errors in your Ruby applications with ease using Rollbar.
|
|
13
13
|
With this gem, you can easily monitor and report on exceptions and other errors
|
|
@@ -51,6 +51,7 @@ files:
|
|
|
51
51
|
- gemfiles/rails81.gemfile
|
|
52
52
|
- lib/generators/rollbar/rollbar_generator.rb
|
|
53
53
|
- lib/generators/rollbar/templates/initializer.erb
|
|
54
|
+
- lib/no_rails_middleware.rb
|
|
54
55
|
- lib/rails/rollbar_runner.rb
|
|
55
56
|
- lib/rollbar.rb
|
|
56
57
|
- lib/rollbar/capistrano.rb
|
|
@@ -161,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
161
162
|
- !ruby/object:Gem::Version
|
|
162
163
|
version: '0'
|
|
163
164
|
requirements: []
|
|
164
|
-
rubygems_version: 3.6.
|
|
165
|
+
rubygems_version: 3.6.2
|
|
165
166
|
specification_version: 4
|
|
166
167
|
summary: Reports exceptions to Rollbar
|
|
167
168
|
test_files: []
|