rollbar 2.20.0 → 2.22.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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/.travis.yml +42 -16
  4. data/Gemfile +19 -13
  5. data/data/rollbar.snippet.js +1 -1
  6. data/gemfiles/rails30.gemfile +1 -10
  7. data/gemfiles/rails31.gemfile +1 -9
  8. data/gemfiles/rails32.gemfile +1 -9
  9. data/gemfiles/rails40.gemfile +1 -9
  10. data/gemfiles/rails41.gemfile +1 -9
  11. data/gemfiles/rails42.gemfile +1 -11
  12. data/gemfiles/rails50.gemfile +1 -11
  13. data/gemfiles/rails51.gemfile +1 -11
  14. data/gemfiles/rails52.gemfile +1 -11
  15. data/gemfiles/rails60.gemfile +67 -0
  16. data/lib/rollbar/configuration.rb +35 -1
  17. data/lib/rollbar/item.rb +25 -7
  18. data/lib/rollbar/json.rb +2 -51
  19. data/lib/rollbar/language_support.rb +3 -19
  20. data/lib/rollbar/notifier.rb +4 -6
  21. data/lib/rollbar/plugins/basic_socket.rb +1 -1
  22. data/lib/rollbar/rake_tasks.rb +3 -147
  23. data/lib/rollbar/request_data_extractor.rb +1 -2
  24. data/lib/rollbar/rollbar_test.rb +147 -0
  25. data/lib/rollbar/scrubbers/url.rb +0 -1
  26. data/lib/rollbar/truncation.rb +7 -1
  27. data/lib/rollbar/truncation/min_body_strategy.rb +2 -3
  28. data/lib/rollbar/truncation/remove_any_key_strategy.rb +123 -0
  29. data/lib/rollbar/truncation/remove_extra_strategy.rb +35 -0
  30. data/lib/rollbar/truncation/remove_request_strategy.rb +21 -0
  31. data/lib/rollbar/truncation/strings_strategy.rb +3 -4
  32. data/lib/rollbar/util.rb +2 -2
  33. data/lib/rollbar/util/hash.rb +15 -0
  34. data/lib/rollbar/version.rb +1 -1
  35. data/rollbar.gemspec +0 -2
  36. metadata +8 -20
  37. data/gemfiles/ruby_1_8_and_1_9_2.gemfile +0 -51
  38. data/lib/rollbar/json/default.rb +0 -11
  39. data/lib/rollbar/json/oj.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e879b78b311e11b9d124caf5d30c8dc9e0d831409a80459430fd557320926cbf
4
- data.tar.gz: 5baf629685d3393055192355cf4974321004ed0a3e57b13f045eafe6631e4804
3
+ metadata.gz: c56a90107593b66c2be899fd4f36abe3ad657abcd0e2d822964efbc8e47efdbb
4
+ data.tar.gz: cd95d87f45d3e65f3dc499c9be88c3c18b84ccd359eda34ed2ab88e941909754
5
5
  SHA512:
6
- metadata.gz: 69e943c6de574b2589a3230fdf69159e0378066fb2ec9757e9716f4c839273ec97450d11058dfdd250b7e244e9d70f28bfb0799916b9765e797e5f5ecccbd022
7
- data.tar.gz: 5213c8cd89294bd2ab4ac1e2ac9dacb43165449bed85d4dc7b8eae9d6f1b4beb1ac95e7526f5d2e11eb7633e2969c62330f577150732207e11004464384c8a2a
6
+ metadata.gz: c6fe31a226014d67e1225234e408030b1e9bab112973e3a312607e26c71c98e6c64d56d7ea2163e0d1cfdd5af3755c384e15c6e11c3166f9478b384f4c0a512f
7
+ data.tar.gz: 12c63a9346dc60827b7b5765b6e63ce9d5c814fdb90c0e685952e4751669bb0f0770344830d625070cac6d656958f6bbd2862522cd7d51d1e0cae039bfd0efb5
data/.rubocop.yml CHANGED
@@ -61,3 +61,8 @@ Style/CaseEquality:
61
61
  # or a string and `str1 =~ str2` isn't valid. Whoever enables this cop should carefully
62
62
  # review and test each of these.
63
63
  Enabled: false
64
+
65
+ Style/FrozenStringLiteralComment:
66
+ # If we do this, it will be in its own PR. It requires adding these magic comments
67
+ # throughout the project, in order to prepare for a future Ruby 3.x.
68
+ Enabled: false
data/.travis.yml CHANGED
@@ -1,4 +1,5 @@
1
1
  sudo: false
2
+ dist: trusty
2
3
  services:
3
4
  - redis-server
4
5
  language: ruby
@@ -14,13 +15,15 @@ rvm:
14
15
  - 2.0.0
15
16
  - 2.1.0
16
17
  - 2.2.2
17
- - 2.3.0
18
18
  - 2.3.8
19
19
  - 2.4.5
20
20
  - 2.5.3
21
21
  - 2.6.0
22
+ - 2.6.3
22
23
  - rbx
23
- - jruby-9.1.9.0
24
+ # Travis's own rvm installer is failing on JRuby builds, TODO: reenable when fixed.
25
+ # - jruby-9.1.9.0
26
+
24
27
  #
25
28
  # # About legacy JRuby
26
29
  #
@@ -53,8 +56,6 @@ jdk:
53
56
  - openjdk8
54
57
  - oraclejdk8
55
58
  - oraclejdk9
56
- env:
57
- - ROLLBAR_SSL_CERT_FILE=/home/travis/build/rollbar/rollbar-gem/spec/cacert.pem
58
59
  gemfile:
59
60
  - gemfiles/rails30.gemfile
60
61
  - gemfiles/rails31.gemfile
@@ -65,6 +66,7 @@ gemfile:
65
66
  - gemfiles/rails50.gemfile
66
67
  - gemfiles/rails51.gemfile
67
68
  - gemfiles/rails52.gemfile
69
+ - gemfiles/rails60.gemfile
68
70
  matrix:
69
71
  include: []
70
72
 
@@ -73,6 +75,7 @@ matrix:
73
75
  - rvm: jruby-head
74
76
  # Ruby 2.6.x is still being eveluated and may have test failures
75
77
  - rvm: 2.6.0
78
+ - rvm: 2.6.3
76
79
  # oraclejdk9 has a dependency issue that needs to be investigated
77
80
  - jdk: oraclejdk9
78
81
 
@@ -103,12 +106,6 @@ matrix:
103
106
  jdk: oraclejdk8
104
107
  - rvm: 2.2.2
105
108
  jdk: oraclejdk9
106
- - rvm: 2.3.0
107
- jdk: openjdk8
108
- - rvm: 2.3.0
109
- jdk: oraclejdk8
110
- - rvm: 2.3.0
111
- jdk: oraclejdk9
112
109
  - rvm: 2.3.8
113
110
  jdk: openjdk8
114
111
  - rvm: 2.3.8
@@ -133,6 +130,12 @@ matrix:
133
130
  jdk: oraclejdk8
134
131
  - rvm: 2.6.0
135
132
  jdk: oraclejdk9
133
+ - rvm: 2.6.3
134
+ jdk: openjdk8
135
+ - rvm: 2.6.3
136
+ jdk: oraclejdk8
137
+ - rvm: 2.6.3
138
+ jdk: oraclejdk9
136
139
 
137
140
  - rvm: ruby-head
138
141
  jdk: openjdk8
@@ -147,6 +150,13 @@ matrix:
147
150
  - rvm: rbx
148
151
  jdk: oraclejdk9
149
152
 
153
+ # Rails 6.x requires Ruby 2.5.0 or higher
154
+ - rvm: 2.2.2
155
+ gemfile: gemfiles/rails60.gemfile
156
+ - rvm: 2.3.8
157
+ gemfile: gemfiles/rails60.gemfile
158
+ - rvm: 2.4.5
159
+ gemfile: gemfiles/rails60.gemfile
150
160
  # Rails 5.x requires Ruby 2.2.2 or higher
151
161
  - rvm: 1.9.3
152
162
  gemfile: gemfiles/rails50.gemfile
@@ -154,6 +164,8 @@ matrix:
154
164
  gemfile: gemfiles/rails51.gemfile
155
165
  - rvm: 1.9.3
156
166
  gemfile: gemfiles/rails52.gemfile
167
+ - rvm: 1.9.3
168
+ gemfile: gemfiles/rails60.gemfile
157
169
  # Rails 5.x requires Ruby 2.2.2 or higher
158
170
  - rvm: 2.0.0
159
171
  gemfile: gemfiles/rails50.gemfile
@@ -161,6 +173,8 @@ matrix:
161
173
  gemfile: gemfiles/rails51.gemfile
162
174
  - rvm: 2.0.0
163
175
  gemfile: gemfiles/rails52.gemfile
176
+ - rvm: 2.0.0
177
+ gemfile: gemfiles/rails60.gemfile
164
178
  # Rails 5.x requires Ruby 2.2.2 or higher
165
179
  - rvm: 2.1.0
166
180
  gemfile: gemfiles/rails50.gemfile
@@ -168,18 +182,14 @@ matrix:
168
182
  gemfile: gemfiles/rails51.gemfile
169
183
  - rvm: 2.1.0
170
184
  gemfile: gemfiles/rails52.gemfile
185
+ - rvm: 2.1.0
186
+ gemfile: gemfiles/rails60.gemfile
171
187
  # MRI 2.2.2 supports Rails 3.2.x and higher
172
188
  - rvm: 2.2.2
173
189
  gemfile: gemfiles/rails30.gemfile
174
190
  - rvm: 2.2.2
175
191
  gemfile: gemfiles/rails31.gemfile
176
192
  # MRI 2.3.x supports Rails 4.0.x and higher
177
- - rvm: 2.3.0
178
- gemfile: gemfiles/rails30.gemfile
179
- - rvm: 2.3.0
180
- gemfile: gemfiles/rails31.gemfile
181
- - rvm: 2.3.0
182
- gemfile: gemfiles/rails32.gemfile
183
193
  - rvm: 2.3.8
184
194
  gemfile: gemfiles/rails30.gemfile
185
195
  - rvm: 2.3.8
@@ -222,6 +232,20 @@ matrix:
222
232
  gemfile: gemfiles/rails40.gemfile
223
233
  - rvm: 2.6.0
224
234
  gemfile: gemfiles/rails41.gemfile
235
+ - rvm: 2.6.0
236
+ gemfile: gemfiles/rails42.gemfile
237
+ - rvm: 2.6.3
238
+ gemfile: gemfiles/rails30.gemfile
239
+ - rvm: 2.6.3
240
+ gemfile: gemfiles/rails31.gemfile
241
+ - rvm: 2.6.3
242
+ gemfile: gemfiles/rails32.gemfile
243
+ - rvm: 2.6.3
244
+ gemfile: gemfiles/rails40.gemfile
245
+ - rvm: 2.6.3
246
+ gemfile: gemfiles/rails41.gemfile
247
+ - rvm: 2.6.3
248
+ gemfile: gemfiles/rails42.gemfile
225
249
  # JRuby JDBC Adapter is only compatible with Rails >= 5.x
226
250
  - rvm: jruby-9.1.9.0
227
251
  gemfile: gemfiles/rails30.gemfile
@@ -253,3 +277,5 @@ matrix:
253
277
  gemfile: gemfiles/rails51.gemfile
254
278
  - rvm: rbx
255
279
  gemfile: gemfiles/rails52.gemfile
280
+ - rvm: rbx
281
+ gemfile: gemfiles/rails60.gemfile
data/Gemfile CHANGED
@@ -11,25 +11,27 @@ ENV['CURRENT_GEMFILE'] ||= __FILE__
11
11
 
12
12
  is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby')
13
13
 
14
+ GEMFILE_RAILS_VERSION = '5.2.2'.freeze
15
+
14
16
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
15
17
  gem 'appraisal'
16
18
  gem 'jruby-openssl', :platform => :jruby
17
- gem 'rails', '4.2.8'
19
+ gem 'rails', GEMFILE_RAILS_VERSION
18
20
  gem 'rake'
19
- gem 'rspec-rails', '~> 3.4'
20
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
21
+ if GEMFILE_RAILS_VERSION < '6.0'
22
+ gem 'rspec-rails', '~> 3.4'
23
+ else
24
+ # TODO: update this when 4.x becomes available on Rubygems
25
+ gem 'rspec-rails', :git => 'https://github.com/rspec/rspec-rails', :ref => 'v4.0.0.beta2' # rubocop:disable Bundler/DuplicatedGem
26
+ end
21
27
 
22
- unless is_jruby
23
- if RUBY_VERSION >= '2.5'
24
- gem 'oj'
25
- elsif RUBY_VERSION >= '2.4.0'
26
- gem 'oj', '~> 2.16.1' # rubocop:disable Bundler/DuplicatedGem
27
- else
28
- gem 'oj', '~> 2.12.14' # rubocop:disable Bundler/DuplicatedGem
29
- end
28
+ if GEMFILE_RAILS_VERSION < '6.0'
29
+ gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
30
+ else
31
+ gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw] # rubocop:disable Bundler/DuplicatedGem
30
32
  end
31
33
 
32
- if RUBY_VERSION > '1.8.7' && RUBY_VERSION < '2.2.2'
34
+ if RUBY_VERSION < '2.2.2'
33
35
  gem 'sidekiq', '~> 2.13.0'
34
36
  else
35
37
  gem 'sidekiq', '>= 2.13.0' # rubocop:disable Bundler/DuplicatedGem
@@ -61,7 +63,11 @@ end
61
63
 
62
64
  gem 'aws-sdk-sqs'
63
65
  gem 'database_cleaner'
64
- gem 'delayed_job', :require => false
66
+ if GEMFILE_RAILS_VERSION < '6.0'
67
+ gem 'delayed_job', :require => false
68
+ else
69
+ gem 'delayed_job', '~> 4.1', :require => false # rubocop:disable Bundler/DuplicatedGem
70
+ end
65
71
  gem 'generator_spec'
66
72
  gem 'girl_friday', '>= 0.11.1'
67
73
  gem 'redis'
@@ -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){var n=o(1),t=o(4);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdnjs.cloudflare.com/ajax/libs/rollbar.js/2.7.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){var n=o(2);function t(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var a=0;function l(r,e){this.options=r,this._rollbarOldOnError=null;var o=a++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var i=o(3),d=function(r,e){return new l(r,e)},c=function(r){return new i(d,r)};function s(r){return t(function(){var e=Array.prototype.slice.call(arguments,0),o={shim:this,method:r,args:e,ts:new Date};window._rollbarShims[this.shimId()].messages.push(o)})}l.prototype.loadFull=function(r,e,o,n,a){var l=!1,i=e.createElement("script"),d=e.getElementsByTagName("script")[0],c=d.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=t(function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{c.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,t,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(t=n.args||[],i=0;i<t.length;++i)if("function"==typeof(l=t[i])){l(e);break}}"function"==typeof a&&a(e)}()}}),c.insertBefore(i,d)},l.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,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),u=0;u<p.length;++u)l.prototype[p[u]]=s(p[u]);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 a=new c(e);return t(function(){e.captureUncaught&&(a._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,a,!0),n.wrapGlobals(r,a,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,a,!0);var t=e.autoInstrument;return!1!==e.enabled&&(void 0===t||!0===t||"object"==typeof t&&t.network)&&r.addEventListener&&(r.addEventListener("load",a.captureLoad.bind(a)),r.addEventListener("DOMContentLoaded",a.captureDomContentLoaded.bind(a))),r[o]=a,a})()}},Rollbar:c}},function(r,e){function o(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={captureUncaughtExceptions:function(r,e,o){if(r){var n;if("function"==typeof e._rollbarOldOnError)n=e._rollbarOldOnError;else if(r.onerror){for(n=r.onerror;n._rollbarOldOnError;)n=n._rollbarOldOnError;e._rollbarOldOnError=n}var t=function(){var o=Array.prototype.slice.call(arguments,0);!function(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null),e.handleUncaughtException.apply(e,n),o&&o.apply(r,n)}(r,e,n,o)};o&&(t._rollbarOldOnError=n),r.onerror=t}},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)}},wrapGlobals:function(r,e,n){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&&o(e,r[a].prototype,n)}}}},function(r,e){function o(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,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}(o.prototype)}o.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=o},function(r,e){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){var n=o(1),t=o(4);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdnjs.cloudflare.com/ajax/libs/rollbar.js/2.12.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){var n=o(2);function t(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var a=0;function l(r,e){this.options=r,this._rollbarOldOnError=null;var o=a++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var i=o(3),s=function(r,e){return new l(r,e)},d=function(r){return new i(s,r)};function c(r){return t(function(){var e=Array.prototype.slice.call(arguments,0),o={shim:this,method:r,args:e,ts:new Date};window._rollbarShims[this.shimId()].messages.push(o)})}l.prototype.loadFull=function(r,e,o,n,a){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=t(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,t,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(t=n.args||[],i=0;i<t.length;++i)if("function"==typeof(l=t[i])){l(e);break}}"function"==typeof a&&a(e)}()}}),d.insertBefore(i,s)},l.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(","),u=0;u<p.length;++u)l.prototype[p[u]]=c(p[u]);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 a=new d(e);return t(function(){e.captureUncaught&&(a._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,a,!0),e.wrapGlobalEventHandlers&&n.wrapGlobals(r,a,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,a,!0);var t=e.autoInstrument;return!1!==e.enabled&&(void 0===t||!0===t||"object"==typeof t&&t.network)&&r.addEventListener&&(r.addEventListener("load",a.captureLoad.bind(a)),r.addEventListener("DOMContentLoaded",a.captureDomContentLoaded.bind(a))),r[o]=a,a})()}},Rollbar:d}},function(r,e){function o(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={captureUncaughtExceptions:function(r,e,o){if(r){var n;if("function"==typeof e._rollbarOldOnError)n=e._rollbarOldOnError;else if(r.onerror){for(n=r.onerror;n._rollbarOldOnError;)n=n._rollbarOldOnError;e._rollbarOldOnError=n}e.handleAnonymousErrors();var t=function(){var o=Array.prototype.slice.call(arguments,0);!function(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,e,n,o)};o&&(t._rollbarOldOnError=n),r.onerror=t}},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)}},wrapGlobals:function(r,e,n){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&&o(e,r[a].prototype,n)}}}},function(r,e){function o(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])}(o.prototype)}o.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=o},function(r,e){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}}}}]);
@@ -19,17 +19,8 @@ gem 'rails', '3.0.20'
19
19
  gem 'hitimes', '< 1.2.2'
20
20
  gem 'rake', '< 11'
21
21
  gem 'rspec-rails', '>= 2.14.0'
22
- gem 'celluloid', '< 0.17.0' if RUBY_VERSION == '1.9.2'
23
22
 
24
- unless is_jruby
25
- if RUBY_VERSION >= '2.4.0'
26
- gem 'oj', '~> 2.16.1'
27
- else
28
- gem 'oj', '~> 2.12.14'
29
- end
30
- end
31
-
32
- if RUBY_VERSION > '1.8.7' && RUBY_VERSION < '2.2.2'
23
+ if RUBY_VERSION < '2.2.2'
33
24
  gem 'sidekiq', '~> 2.13.0'
34
25
  else
35
26
  gem 'sidekiq', '>= 2.13.0'
@@ -19,15 +19,7 @@ gem 'rails', '3.1.12'
19
19
  gem 'rspec-rails', '~> 3.4'
20
20
  gem 'rake'
21
21
 
22
- unless is_jruby
23
- if RUBY_VERSION >= '2.4.0'
24
- gem 'oj', '~> 2.16.1'
25
- else
26
- gem 'oj', '~> 2.12.14'
27
- end
28
- end
29
-
30
- if RUBY_VERSION > '1.8.7' && RUBY_VERSION < '2.2.2'
22
+ if RUBY_VERSION < '2.2.2'
31
23
  gem 'sidekiq', '~> 2.13.0'
32
24
  else
33
25
  gem 'sidekiq', '>= 2.13.0'
@@ -21,15 +21,7 @@ gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
21
21
  # Please see https://github.com/rspec/rspec-rails/issues/1273
22
22
  gem 'test-unit'
23
23
 
24
- unless is_jruby
25
- if RUBY_VERSION >= '2.4.0'
26
- gem 'oj', '~> 2.16.1'
27
- else
28
- gem 'oj', '~> 2.12.14'
29
- end
30
- end
31
-
32
- if RUBY_VERSION > '1.8.7' && RUBY_VERSION < '2.2.2'
24
+ if RUBY_VERSION < '2.2.2'
33
25
  gem 'sidekiq', '~> 2.13.0'
34
26
  else
35
27
  gem 'sidekiq', '>= 2.13.0'
@@ -21,15 +21,7 @@ gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
21
21
  # Please see https://github.com/rspec/rspec-rails/issues/1273
22
22
  gem 'test-unit'
23
23
 
24
- unless is_jruby
25
- if RUBY_VERSION >= '2.4.0'
26
- gem 'oj', '~> 2.16.1'
27
- else
28
- gem 'oj', '~> 2.12.14'
29
- end
30
- end
31
-
32
- if RUBY_VERSION > '1.8.7' && RUBY_VERSION < '2.2.2'
24
+ if RUBY_VERSION < '2.2.2'
33
25
  gem 'sidekiq', '~> 2.13.0'
34
26
  else
35
27
  gem 'sidekiq', '>= 2.13.0'
@@ -19,15 +19,7 @@ gem 'rake'
19
19
  gem 'rspec-rails', '~> 3.4'
20
20
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
21
21
 
22
- unless is_jruby
23
- if RUBY_VERSION >= '2.4.0'
24
- gem 'oj', '~> 2.16.1'
25
- else
26
- gem 'oj', '~> 2.12.14'
27
- end
28
- end
29
-
30
- if RUBY_VERSION > '1.8.7' && RUBY_VERSION < '2.2.2'
22
+ if RUBY_VERSION < '2.2.2'
31
23
  gem 'sidekiq', '~> 2.13.0'
32
24
  else
33
25
  gem 'sidekiq', '>= 2.13.0'
@@ -27,17 +27,7 @@ platforms :rbx do
27
27
  gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
28
28
  end
29
29
 
30
- unless is_jruby
31
- if RUBY_VERSION >= '2.5'
32
- gem 'oj'
33
- elsif RUBY_VERSION >= '2.4.0'
34
- gem 'oj', '~> 2.16.1'
35
- else
36
- gem 'oj', '~> 2.12.14'
37
- end
38
- end
39
-
40
- if RUBY_VERSION > '1.8.7' && RUBY_VERSION < '2.2.2'
30
+ if RUBY_VERSION < '2.2.2'
41
31
  gem 'sidekiq', '~> 2.13.0'
42
32
  else
43
33
  gem 'sidekiq', '>= 2.13.0'
@@ -14,7 +14,7 @@ is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_
14
14
  gem 'appraisal'
15
15
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
16
16
  gem 'jruby-openssl', :platform => :jruby
17
- gem 'rails', '~> 5.0.0'
17
+ gem 'rails', '~> 5.0.7'
18
18
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
19
19
 
20
20
  gem 'rspec-core', '~> 3.5.0.beta3'
@@ -27,16 +27,6 @@ gem 'rake'
27
27
 
28
28
  gem 'sidekiq', '>= 2.13.0'
29
29
 
30
- unless is_jruby
31
- if RUBY_VERSION >= '2.5'
32
- gem 'oj'
33
- elsif RUBY_VERSION >= '2.4.0'
34
- gem 'oj', '~> 2.16.1'
35
- else
36
- gem 'oj', '~> 2.12.14'
37
- end
38
- end
39
-
40
30
  platforms :rbx do
41
31
  gem 'minitest'
42
32
  gem 'racc'
@@ -14,7 +14,7 @@ is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_
14
14
  gem 'appraisal'
15
15
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
16
16
  gem 'jruby-openssl', :platform => :jruby
17
- gem 'rails', '~> 5.1.0'
17
+ gem 'rails', '~> 5.1.7'
18
18
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
19
19
 
20
20
  gem 'rspec-core', '~> 3.5.0.beta3'
@@ -27,16 +27,6 @@ gem 'rake'
27
27
 
28
28
  gem 'sidekiq', '>= 2.13.0'
29
29
 
30
- unless is_jruby
31
- if RUBY_VERSION >= '2.5'
32
- gem 'oj'
33
- elsif RUBY_VERSION >= '2.4.0'
34
- gem 'oj', '~> 2.16.1'
35
- else
36
- gem 'oj', '~> 2.12.14'
37
- end
38
- end
39
-
40
30
  platforms :rbx do
41
31
  gem 'minitest'
42
32
  gem 'racc'
@@ -14,7 +14,7 @@ is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_
14
14
  gem 'appraisal'
15
15
  gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
16
16
  gem 'jruby-openssl', :platform => :jruby
17
- gem 'rails', '~> 5.2.0'
17
+ gem 'rails', '~> 5.2.3'
18
18
  gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
19
19
 
20
20
  gem 'rspec-core', '~> 3.8.0'
@@ -25,16 +25,6 @@ gem 'rspec-mocks', '~> 3.8.0'
25
25
 
26
26
  gem 'rake'
27
27
 
28
- unless is_jruby
29
- if RUBY_VERSION >= '2.5'
30
- gem 'oj'
31
- elsif RUBY_VERSION >= '2.4.0'
32
- gem 'oj', '~> 2.16.1'
33
- else
34
- gem 'oj', '~> 2.12.14'
35
- end
36
- end
37
-
38
28
  gem 'sidekiq', '>= 2.13.0'
39
29
 
40
30
  platforms :rbx do
@@ -0,0 +1,67 @@
1
+
2
+ require 'rubygems/version'
3
+
4
+ source 'https://rubygems.org'
5
+
6
+ # Used by spec/commands/rollbar_rails_runner_spec, and can be used whenever a
7
+ # new process is created during tests. (Testing rake tasks, for example.)
8
+ # This is a workaround for ENV['BUNDLE_GEMFILE'] not working as expected on Travis.
9
+ # We use the ||= assignment because Travis loads the gemfile twice, the second time
10
+ # with the wrong gemfile path.
11
+ ENV['CURRENT_GEMFILE'] ||= __FILE__
12
+
13
+ is_jruby = defined?(JRUBY_VERSION) || (defined?(RUBY_ENGINE) && 'jruby' == RUBY_ENGINE)
14
+
15
+ gem 'appraisal'
16
+ gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
17
+ gem 'jruby-openssl', :platform => :jruby
18
+ gem 'rails', '6.0.0.rc1'
19
+ gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
20
+
21
+ gem 'rspec-core', '~> 3.8.0'
22
+ gem 'rspec-support', '~> 3.8.0'
23
+ gem 'rspec-expectations', '~> 3.8.0'
24
+ gem 'rspec-mocks', '~> 3.8.0'
25
+ # TODO: update this when 4.x becomes available on Rubygems
26
+ gem 'rspec-rails', :git => 'https://github.com/rspec/rspec-rails', :ref => 'v4.0.0.beta2' # rubocop:disable Bundler/DuplicatedGem
27
+
28
+ gem 'rake'
29
+
30
+ gem 'sidekiq', '>= 2.13.0'
31
+
32
+ platforms :rbx do
33
+ gem 'minitest'
34
+ gem 'racc'
35
+ gem 'rubinius-developer_tools'
36
+ gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
37
+ end
38
+
39
+ gem 'sucker_punch', '~> 2.0'
40
+
41
+ # We need last sinatra that uses rack 2.x
42
+ gem 'sinatra', :git => 'https://github.com/sinatra/sinatra'
43
+
44
+ gem 'database_cleaner'
45
+ gem 'codacy-coverage'
46
+ gem 'delayed_job', '4.1.8.beta1', :require => false
47
+ gem 'generator_spec'
48
+ gem 'girl_friday', '>= 0.11.1'
49
+ gem 'redis'
50
+ gem 'resque'
51
+ gem 'simplecov'
52
+
53
+ unless is_jruby
54
+ # JRuby doesn't support fork, which is required for this test helper.
55
+ gem 'rspec-command'
56
+ end
57
+
58
+ gem 'mime-types'
59
+
60
+ gem 'webmock', :require => false
61
+
62
+ gem 'aws-sdk-sqs'
63
+ gem 'shoryuken'
64
+
65
+ gem 'capistrano', :require => false
66
+
67
+ gemspec :path => '../'