rollbar 2.8.3 → 3.6.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 +5 -5
- data/.codeclimate.yml +18 -0
- data/.github/pull_request_template.md +34 -0
- data/.github/workflows/ci.yml +67 -0
- data/.gitignore +3 -1
- data/.rubocop.yml +206 -7
- data/Appraisals +10 -10
- data/CHANGELOG.md +257 -3
- data/Gemfile +74 -13
- data/README.md +38 -833
- data/Rakefile +0 -0
- data/THANKS.md +1 -0
- data/data/rollbar.snippet.js +1 -1
- data/docs/configuration.md +64 -3
- data/docs/plugins.md +46 -0
- data/gemfiles/rails50.gemfile +56 -0
- data/gemfiles/rails51.gemfile +57 -0
- data/gemfiles/rails52.gemfile +56 -0
- data/gemfiles/rails60.gemfile +52 -0
- data/gemfiles/rails61.gemfile +52 -0
- data/gemfiles/rails70.gemfile +52 -0
- data/gemfiles/rails71.gemfile +52 -0
- data/lib/generators/rollbar/rollbar_generator.rb +24 -20
- data/lib/generators/rollbar/templates/{initializer.rb → initializer.erb} +19 -5
- data/lib/rails/rollbar_runner.rb +26 -22
- data/lib/rollbar/capistrano.rb +78 -38
- data/lib/rollbar/capistrano3.rb +62 -1
- data/lib/rollbar/capistrano_tasks.rb +166 -0
- data/lib/rollbar/configuration.rb +291 -71
- data/lib/rollbar/delay/active_job.rb +17 -0
- data/lib/rollbar/delay/delayed_job.rb +23 -0
- data/lib/rollbar/delay/girl_friday.rb +4 -9
- data/lib/rollbar/delay/resque.rb +3 -6
- data/lib/rollbar/delay/shoryuken.rb +36 -0
- data/lib/rollbar/delay/sidekiq.rb +6 -8
- data/lib/rollbar/delay/sucker_punch.rb +17 -22
- data/lib/rollbar/delay/thread.rb +74 -3
- data/lib/rollbar/deploy.rb +91 -0
- data/lib/rollbar/encoding/encoder.rb +22 -11
- data/lib/rollbar/encoding.rb +2 -7
- data/lib/rollbar/exception_reporter.rb +36 -12
- data/lib/rollbar/item/backtrace.rb +118 -0
- data/lib/rollbar/item/frame.rb +121 -0
- data/lib/rollbar/item/locals.rb +103 -0
- data/lib/rollbar/item.rb +314 -0
- data/lib/rollbar/js.rb +0 -28
- data/lib/rollbar/json.rb +7 -55
- data/lib/rollbar/language_support.rb +7 -19
- data/lib/rollbar/lazy_store.rb +8 -12
- data/lib/rollbar/logger.rb +71 -0
- data/lib/rollbar/logger_proxy.rb +18 -1
- data/lib/rollbar/middleware/js/json_value.rb +36 -0
- data/lib/rollbar/middleware/js.rb +297 -0
- data/lib/rollbar/middleware/rack/builder.rb +4 -4
- data/lib/rollbar/middleware/rack/test_session.rb +4 -4
- data/lib/rollbar/middleware/rack.rb +52 -0
- data/lib/rollbar/middleware/rails/rollbar.rb +19 -7
- data/lib/rollbar/middleware/rails/show_exceptions.rb +21 -9
- data/lib/rollbar/middleware/sinatra.rb +2 -40
- data/lib/rollbar/notifier/trace_with_bindings.rb +75 -0
- data/lib/rollbar/notifier.rb +913 -0
- data/lib/rollbar/plugin.rb +126 -0
- data/lib/rollbar/plugins/active_job.rb +54 -0
- data/lib/rollbar/plugins/basic_socket.rb +31 -0
- data/lib/rollbar/plugins/delayed_job/job_data.rb +50 -0
- data/lib/rollbar/plugins/delayed_job/plugin.rb +88 -0
- data/lib/rollbar/plugins/delayed_job.rb +12 -0
- data/lib/rollbar/plugins/error_context.rb +11 -0
- data/lib/rollbar/plugins/goalie.rb +65 -0
- data/lib/rollbar/plugins/rack.rb +18 -0
- data/lib/rollbar/plugins/rails/controller_methods.rb +56 -0
- data/lib/rollbar/plugins/rails/error_subscriber.rb +12 -0
- data/lib/rollbar/plugins/rails/railtie30.rb +18 -0
- data/lib/rollbar/plugins/rails/railtie32.rb +18 -0
- data/lib/rollbar/plugins/rails/railtie_mixin.rb +37 -0
- data/lib/rollbar/plugins/rails.rb +89 -0
- data/lib/rollbar/plugins/rake.rb +73 -0
- data/lib/rollbar/plugins/resque/failure.rb +39 -0
- data/lib/rollbar/plugins/resque.rb +11 -0
- data/lib/rollbar/plugins/sidekiq/plugin.rb +77 -0
- data/lib/rollbar/plugins/sidekiq.rb +37 -0
- data/lib/rollbar/plugins/thread.rb +14 -0
- data/lib/rollbar/plugins/validations.rb +45 -0
- data/lib/rollbar/plugins.rb +47 -0
- data/lib/rollbar/rails.rb +0 -1
- data/lib/rollbar/rake_tasks.rb +4 -66
- data/lib/rollbar/request_data_extractor.rb +157 -117
- data/lib/rollbar/rollbar_test.rb +38 -0
- data/lib/rollbar/scrubbers/params.rb +133 -0
- data/lib/rollbar/scrubbers/url.rb +90 -35
- data/lib/rollbar/scrubbers.rb +13 -0
- data/lib/rollbar/truncation/frames_strategy.rb +2 -1
- data/lib/rollbar/truncation/min_body_strategy.rb +3 -4
- data/lib/rollbar/truncation/mixin.rb +1 -1
- data/lib/rollbar/truncation/remove_any_key_strategy.rb +126 -0
- data/lib/rollbar/truncation/remove_extra_strategy.rb +37 -0
- data/lib/rollbar/truncation/remove_request_strategy.rb +21 -0
- data/lib/rollbar/truncation/strings_strategy.rb +6 -5
- data/lib/rollbar/truncation.rb +10 -4
- data/lib/rollbar/util/hash.rb +37 -6
- data/lib/rollbar/util/ip_anonymizer.rb +33 -0
- data/lib/rollbar/util/ip_obfuscator.rb +1 -1
- data/lib/rollbar/util.rb +101 -55
- data/lib/rollbar/version.rb +1 -1
- data/lib/rollbar.rb +91 -879
- data/lib/tasks/benchmark.rake +104 -0
- data/lib/tasks/tasks.rake +3 -3
- data/rollbar.gemspec +21 -32
- data/spec/support/rollbar_api.rb +67 -0
- metadata +78 -439
- data/.travis.yml +0 -155
- data/gemfiles/rails30.gemfile +0 -20
- data/gemfiles/rails31.gemfile +0 -16
- data/gemfiles/rails32.gemfile +0 -17
- data/gemfiles/rails40.gemfile +0 -17
- data/gemfiles/rails41.gemfile +0 -15
- data/gemfiles/rails42.gemfile +0 -15
- data/lib/rollbar/active_job.rb +0 -11
- data/lib/rollbar/active_record_extension.rb +0 -14
- data/lib/rollbar/core_ext/basic_socket.rb +0 -7
- data/lib/rollbar/core_ext/thread.rb +0 -9
- data/lib/rollbar/delayed_job.rb +0 -78
- data/lib/rollbar/encoding/legacy_encoder.rb +0 -20
- data/lib/rollbar/goalie.rb +0 -33
- data/lib/rollbar/js/frameworks/rails.rb +0 -29
- data/lib/rollbar/js/frameworks.rb +0 -6
- data/lib/rollbar/js/middleware.rb +0 -129
- data/lib/rollbar/js/version.rb +0 -5
- data/lib/rollbar/json/default.rb +0 -11
- data/lib/rollbar/json/oj.rb +0 -15
- data/lib/rollbar/rack.rb +0 -9
- data/lib/rollbar/rails/controller_methods.rb +0 -40
- data/lib/rollbar/railtie.rb +0 -46
- data/lib/rollbar/rake.rb +0 -38
- data/lib/rollbar/sidekiq.rb +0 -40
- data/lib/rollbar/tasks/rollbar.cap +0 -45
- data/spec/cacert.pem +0 -3988
- data/spec/controllers/home_controller_spec.rb +0 -455
- data/spec/delay/sidekiq_spec.rb +0 -61
- data/spec/delay/sucker_punch_spec.rb +0 -25
- data/spec/delayed/backend/test.rb +0 -139
- data/spec/delayed/serialization/test.rb +0 -0
- data/spec/dummyapp/.gitignore +0 -73
- data/spec/dummyapp/Rakefile +0 -7
- data/spec/dummyapp/app/assets/javascripts/application.js +0 -3
- data/spec/dummyapp/app/assets/stylesheets/application.css.scss +0 -37
- data/spec/dummyapp/app/controllers/application_controller.rb +0 -3
- data/spec/dummyapp/app/controllers/home_controller.rb +0 -60
- data/spec/dummyapp/app/controllers/users_controller.rb +0 -17
- data/spec/dummyapp/app/helpers/.gitkeep +0 -0
- data/spec/dummyapp/app/mailers/.gitkeep +0 -0
- data/spec/dummyapp/app/models/.gitkeep +0 -0
- data/spec/dummyapp/app/models/user.rb +0 -7
- data/spec/dummyapp/app/views/devise/registrations/edit.html.erb +0 -27
- data/spec/dummyapp/app/views/devise/registrations/new.html.erb +0 -20
- data/spec/dummyapp/app/views/devise/shared/_links.html.erb +0 -25
- data/spec/dummyapp/app/views/home/cause_exception.html.erb +0 -1
- data/spec/dummyapp/app/views/home/index.html.erb +0 -4
- data/spec/dummyapp/app/views/home/report_exception.html.erb +0 -1
- data/spec/dummyapp/app/views/js/test.html.erb +0 -1
- data/spec/dummyapp/app/views/layouts/_messages.html.erb +0 -5
- data/spec/dummyapp/app/views/layouts/_navigation.html.erb +0 -21
- data/spec/dummyapp/app/views/layouts/application.html.erb +0 -25
- data/spec/dummyapp/app/views/layouts/simple.html.erb +0 -18
- data/spec/dummyapp/app/views/users/index.html.erb +0 -8
- data/spec/dummyapp/app/views/users/show.html.erb +0 -3
- data/spec/dummyapp/config/application.rb +0 -59
- data/spec/dummyapp/config/boot.rb +0 -10
- data/spec/dummyapp/config/database.yml +0 -25
- data/spec/dummyapp/config/environment.rb +0 -5
- data/spec/dummyapp/config/environments/development.rb +0 -37
- data/spec/dummyapp/config/environments/production.rb +0 -67
- data/spec/dummyapp/config/environments/test.rb +0 -37
- data/spec/dummyapp/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummyapp/config/initializers/inflections.rb +0 -15
- data/spec/dummyapp/config/initializers/mime_types.rb +0 -5
- data/spec/dummyapp/config/initializers/rollbar.rb +0 -23
- data/spec/dummyapp/config/initializers/secret_token.rb +0 -7
- data/spec/dummyapp/config/initializers/session_store.rb +0 -8
- data/spec/dummyapp/config/initializers/wrap_parameters.rb +0 -16
- data/spec/dummyapp/config/locales/devise.en.yml +0 -58
- data/spec/dummyapp/config/locales/en.yml +0 -5
- data/spec/dummyapp/config/routes.rb +0 -17
- data/spec/dummyapp/config.ru +0 -4
- data/spec/dummyapp/db/migrate/20121121184652_devise_create_users.rb +0 -46
- data/spec/dummyapp/db/migrate/20121121184654_add_name_to_users.rb +0 -5
- data/spec/dummyapp/db/schema.rb +0 -35
- data/spec/dummyapp/db/seeds.rb +0 -12
- data/spec/dummyapp/lib/assets/.gitkeep +0 -0
- data/spec/dummyapp/public/404.html +0 -26
- data/spec/dummyapp/public/422.html +0 -26
- data/spec/dummyapp/public/500.html +0 -25
- data/spec/dummyapp/public/favicon.ico +0 -0
- data/spec/dummyapp/script/rails +0 -6
- data/spec/fixtures/file1 +0 -1
- data/spec/fixtures/file2 +0 -1
- data/spec/fixtures/payloads/message.json +0 -25
- data/spec/fixtures/payloads/sample.trace.json +0 -275
- data/spec/fixtures/payloads/sample.trace_chain.json +0 -530
- data/spec/generators/rollbar/rollbar_generator_spec.rb +0 -24
- data/spec/requests/home_spec.rb +0 -49
- data/spec/rollbar/active_job_spec.rb +0 -33
- data/spec/rollbar/configuration_spec.rb +0 -24
- data/spec/rollbar/delay/girl_friday_spec.rb +0 -41
- data/spec/rollbar/delay/resque_spec.rb +0 -37
- data/spec/rollbar/delay/thread_spec.rb +0 -27
- data/spec/rollbar/delayed_job/job_data.rb +0 -35
- data/spec/rollbar/delayed_job_spec.rb +0 -90
- data/spec/rollbar/encoding/encoder_spec.rb +0 -63
- data/spec/rollbar/js/frameworks/rails_spec.rb +0 -19
- data/spec/rollbar/js/middleware_spec.rb +0 -162
- data/spec/rollbar/json/oj_spec.rb +0 -18
- data/spec/rollbar/json_spec.rb +0 -110
- data/spec/rollbar/lazy_store_spec.rb +0 -99
- data/spec/rollbar/logger_proxy_spec.rb +0 -34
- data/spec/rollbar/middleware/rack/builder_spec.rb +0 -151
- data/spec/rollbar/middleware/sinatra_spec.rb +0 -197
- data/spec/rollbar/rake_spec.rb +0 -34
- data/spec/rollbar/request_data_extractor_spec.rb +0 -82
- data/spec/rollbar/scrubbers/url_spec.rb +0 -111
- data/spec/rollbar/sidekiq_spec.rb +0 -90
- data/spec/rollbar/truncation/frames_strategy_spec.rb +0 -70
- data/spec/rollbar/truncation/min_body_strategy_spec.rb +0 -57
- data/spec/rollbar/truncation/strings_strategy_spec.rb +0 -89
- data/spec/rollbar/truncation_spec.rb +0 -27
- data/spec/rollbar/util/hash_spec.rb +0 -22
- data/spec/rollbar/util_spec.rb +0 -19
- data/spec/rollbar_bc_spec.rb +0 -380
- data/spec/rollbar_spec.rb +0 -2067
- data/spec/spec_helper.rb +0 -49
- data/spec/support/cause_exception.rb +0 -1
- data/spec/support/encoding_helpers.rb +0 -8
- data/spec/support/encodings/iso_8859_9 +0 -1
- data/spec/support/fixture_helpers.rb +0 -10
- data/spec/support/get_ip_raising.rb +0 -7
- data/spec/support/helpers.rb +0 -5
- data/spec/support/notifier_helpers.rb +0 -36
- data/spec/support/shared_contexts.rb +0 -12
data/Rakefile
CHANGED
File without changes
|
data/THANKS.md
CHANGED
@@ -25,6 +25,7 @@ Huge thanks to the following contributors (by github username). For the most up-
|
|
25
25
|
- [jeremyvdw](https://github.com/jeremyvdw)
|
26
26
|
- [jjb](https://github.com/jjb)
|
27
27
|
- [johnknott](https://github.com/johnknott)
|
28
|
+
- [johnsyweb](https://github.com/johnsyweb)
|
28
29
|
- [jonah-williams](https://github.com/jonah-williams)
|
29
30
|
- [jondeandres](https://github.com/jondeandres)
|
30
31
|
- [JoshuaOSHickman](https://github.com/JoshuaOSHickman)
|
data/data/rollbar.snippet.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
!function(r){function o(
|
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,16 @@ 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
|
+
|
67
|
+
### logger_level
|
68
|
+
|
69
|
+
**Default** `:info`
|
70
|
+
|
71
|
+
Regardless of what Logger you're using, Rollbar will not proxy logs to it if its less than this particular level.
|
66
72
|
|
67
73
|
### disable_monkey_patch
|
68
74
|
|
@@ -102,6 +108,25 @@ Rollbar notifier.
|
|
102
108
|
|
103
109
|
The number of job failures before reporting the failure to Rollbar.
|
104
110
|
|
111
|
+
### async_skip_report_handler
|
112
|
+
|
113
|
+
**Default** `nil`
|
114
|
+
**Example** `-> (job) { job.cron? }`
|
115
|
+
|
116
|
+
A handler, should respond to `#call`, receives the job and returns a boolean. If true, reporting errors will be skipped. If provided, dj_threshold isn't checked.
|
117
|
+
|
118
|
+
### enabled
|
119
|
+
|
120
|
+
**Default** `true`
|
121
|
+
|
122
|
+
Set to false to turn Rollbar off and stop reporting errors.
|
123
|
+
|
124
|
+
### environment
|
125
|
+
|
126
|
+
**Default** unspecified
|
127
|
+
|
128
|
+
The environment that your code is running in.
|
129
|
+
|
105
130
|
### failover_handlers
|
106
131
|
|
107
132
|
An array of backup handlers if the async handlers fails. Each should respond to
|
@@ -111,6 +136,7 @@ An array of backup handlers if the async handlers fails. Each should respond to
|
|
111
136
|
|
112
137
|
For use with `write_to_file`. Indicates location of the rollbar log file being
|
113
138
|
tracked by [rollbar-agent](https://github.com/rollbar/rollbar-agent).
|
139
|
+
Enable `files_with_pid_name_enabled` if you want to have different files for each process(only works if extension `rollbar`)
|
114
140
|
|
115
141
|
### framework
|
116
142
|
|
@@ -119,6 +145,12 @@ tracked by [rollbar-agent](https://github.com/rollbar/rollbar-agent).
|
|
119
145
|
Indicates which framework you're using. Common options include 'Rails',
|
120
146
|
'Sinatra', and 'Rack' to name a few.
|
121
147
|
|
148
|
+
### host
|
149
|
+
|
150
|
+
**Default** `nil`
|
151
|
+
|
152
|
+
The hostname (reported to Rollbar as `server.host`). When nil, the value of `Socket.gethostname` will be used.
|
153
|
+
|
122
154
|
### ignored_person_ids
|
123
155
|
|
124
156
|
**Default** `[]`
|
@@ -156,12 +188,16 @@ if `person_method` not present.
|
|
156
188
|
|
157
189
|
### person_username_method
|
158
190
|
|
191
|
+
**Default** `nil`
|
192
|
+
|
159
193
|
A string or symbol giving the name of the method on the user instance that
|
160
194
|
returns the person's username. Gets called on the result of `person_method`.
|
161
195
|
Ignored if `person_method` not present.
|
162
196
|
|
163
197
|
### person_email_method
|
164
198
|
|
199
|
+
**Default** `nil`
|
200
|
+
|
165
201
|
A string or symbol giving the name of the method on the user instance that
|
166
202
|
returns the person's email. Gets called on the result of `person_method`.
|
167
203
|
Ignored if `person_method` not present.
|
@@ -180,16 +216,26 @@ Rollbar load the traces before sending them.
|
|
180
216
|
Set to `false` to skip automatic bundling of job metadata like queue, job class
|
181
217
|
name, and job options.
|
182
218
|
|
219
|
+
### open_timeout
|
220
|
+
|
221
|
+
**Default** `3`
|
222
|
+
|
183
223
|
### request_timeout
|
184
224
|
|
185
225
|
**Default** `3`
|
186
226
|
|
187
227
|
Set the request timeout for sending POST data to Rollbar.
|
188
228
|
|
229
|
+
### net_retries
|
230
|
+
|
231
|
+
**Default** `3`
|
232
|
+
|
233
|
+
Sets the number of retries cause timeouts on the POST request.
|
234
|
+
|
189
235
|
### root
|
190
236
|
|
191
237
|
Set the server root, all stack frames outside that root are considered
|
192
|
-
'non-project' frames. Also used to setup
|
238
|
+
'non-project' frames. Also used to setup GitHub linking.
|
193
239
|
|
194
240
|
### safely
|
195
241
|
|
@@ -204,6 +250,15 @@ Fields to scrub out of the parsed request data. Will scrub from `GET`, `POST`,
|
|
204
250
|
url, and several other locations. Does not currently recurse into the full
|
205
251
|
payload.
|
206
252
|
|
253
|
+
If set to `[:scrub_all]` it will scrub all fields. It will not scrub anything
|
254
|
+
that is in the scrub_whitelist configuration array even if :scrub_all is true.
|
255
|
+
|
256
|
+
### scrub_whitelist
|
257
|
+
|
258
|
+
Set the list of fields to be whitelisted when `scrub_fields` is set to `[:scrub_all]`.
|
259
|
+
|
260
|
+
Supports regex entries for partial matching e.g. `[:foo, /\A.+_id\z/, :bar]`
|
261
|
+
|
207
262
|
### scrub_user
|
208
263
|
|
209
264
|
**Default** `true`
|
@@ -266,6 +321,12 @@ installed, uses `girl_friday`, otherwise defaults to `Thread`.
|
|
266
321
|
When `true` indicates you wish to send data to Rollbar with `eventmachine`.
|
267
322
|
Won't work unless `eventmachine` is installed.
|
268
323
|
|
324
|
+
### use_exception_level_filters_default
|
325
|
+
|
326
|
+
**Default** `false`
|
327
|
+
|
328
|
+
When `true` the notifier will use the `exception_level_filters` when reporting. It can be overriden using `:use_exception_level_filters` option. see [Exception level filters](https://github.com/rollbar/rollbar-gem#exception-level-filters)
|
329
|
+
|
269
330
|
### web_base
|
270
331
|
|
271
332
|
**Default** `'https://rollbar.com'`
|
data/docs/plugins.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Plugins
|
2
|
+
|
3
|
+
The plugins architecture offers an easy way to load the wrappers for libaries or frameworks we want to send Rollbar reports from. The different plugins we've written can be found in https://github.com/rollbar/rollbar-gem/tree/master/lib/rollbar/plugins. In this document we'll explain the interface that a plugin offers.
|
4
|
+
|
5
|
+
If you'd like to open a PR in this gem in order to add a plugin for a library or framework that this gem does not yet support, create a file with the name of the framework in `lib/rollbar/plugins`. Here an example of a plugin:
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
# lib/rollbar/plugins/my_framework.rb
|
9
|
+
|
10
|
+
Rollbar.plugins.define('my-framework') do
|
11
|
+
require_dependency 'my_framework'
|
12
|
+
dependency { defined?(MyFramework::ErrorHandlers) }
|
13
|
+
|
14
|
+
execute! do
|
15
|
+
# This block is executed before Rollbar.configure is called
|
16
|
+
end
|
17
|
+
|
18
|
+
execute do
|
19
|
+
MyWramework::ErrorHandlers.add do |e| do
|
20
|
+
Rollbar.error(e)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
```
|
25
|
+
|
26
|
+
In the example from above you can guess we've defined a plugin called `my-framework` using the statement `Rollbar.plugins.define('my-framework')`. All the Rollbar plugins are defined under `Rollbar.plugins`, an instance of `Rollbar::Plugins`, which is the plugins manager.
|
27
|
+
|
28
|
+
## Plugin DSL
|
29
|
+
|
30
|
+
The DSL used in the plugins architecture is quite easy:
|
31
|
+
|
32
|
+
- `dependency` recieves a block that will be executed in order to evaluate if the `execute` blocks should be executed or not. You can define any number of `dependency` blocks. If any of those return a non-truthy value, the `execute` blocks will be avoided and your plugin will not have any impact on the gem behavior.
|
33
|
+
|
34
|
+
- `require_dependency` receives a string. It calls `require` with the passed string and aborts the plugin load should the `require` call fail. This is useful when you want to ensure the library or framework gem you want to wrap really exists in the project.
|
35
|
+
|
36
|
+
- `execute` also receives a block. You can define any number of `execute` blocks that will be executed in order if all the dependencies, defined by the `dependency` blocks, are satisfied. In the block passed to `execute` you should add the error handler for the framework you are wrapping, inject a module to an existing one, monkey patch a class, or whatever you need in order to send reports to Rollbar when using that framework.
|
37
|
+
|
38
|
+
The blocks passed to `execute` are always executed after `Rollbar.configure` has been called in any of your initializer files or configuration files, so you are sure the `Rollbar.configuration` in your `execute` blocks is valid and what you expect to be.
|
39
|
+
|
40
|
+
- `execute!` is used on your plugin definition in those cases where you need to execute a block of code before `Rollbar.configure` is called. So in the moment the plugin file is read, that happens on a `require 'rollbar'` statement, the block passed to `execute!` is called.
|
41
|
+
|
42
|
+
This is useful in those cases when the framework initialization needs your plugin to be attached to some hooks or any initialization process. This is what happens for example in the Rails plugin, where we need to define our own engine and that needs to be done before the `Rollbar.configure` call.
|
43
|
+
|
44
|
+
## Examples
|
45
|
+
|
46
|
+
The best way to understand how to build other plugins for the gem is taking a look into our existing plugins code, in https://github.com/rollbar/rollbar-gem/tree/master/lib/rollbar/plugins. If you have any doubt about how to define a new plugin, please, open an issue in the gem repository and we'll be very glad to help you!
|
@@ -0,0 +1,56 @@
|
|
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 'net-ssh', '<= 3.1.1'
|
10
|
+
gem 'public_suffix', '<= 3.1.1'
|
11
|
+
gem 'rails', '~> 5.0.7'
|
12
|
+
gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
|
13
|
+
|
14
|
+
gem 'rspec-core', '~> 3.5.0.beta3'
|
15
|
+
gem 'rspec-expectations', '~> 3.5.0.beta3'
|
16
|
+
gem 'rspec-mocks', '~> 3.5.0.beta3'
|
17
|
+
gem 'rspec-rails', '~> 3.5.0.beta3'
|
18
|
+
gem 'rspec-support', '~> 3.5.0.beta3'
|
19
|
+
|
20
|
+
gem 'rake'
|
21
|
+
|
22
|
+
gem 'sidekiq', '>= 2.13.0'
|
23
|
+
|
24
|
+
platforms :rbx do
|
25
|
+
gem 'minitest'
|
26
|
+
gem 'racc'
|
27
|
+
gem 'rubinius-developer_tools'
|
28
|
+
gem 'rubysl', '~> 2.0' if RUBY_VERSION.start_with?('2')
|
29
|
+
end
|
30
|
+
|
31
|
+
gem 'capistrano', :require => false
|
32
|
+
gem 'simplecov', '<= 0.17.1'
|
33
|
+
gem 'sucker_punch', '~> 2.0'
|
34
|
+
|
35
|
+
gem 'rack', '2.1.2' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
|
36
|
+
|
37
|
+
# We need last sinatra that uses rack 2.1.x
|
38
|
+
gem 'database_cleaner', '~> 1.8.4'
|
39
|
+
gem 'delayed_job', :require => false
|
40
|
+
gem 'generator_spec'
|
41
|
+
gem 'redis', '<= 3.3.5'
|
42
|
+
gem 'resque'
|
43
|
+
gem 'secure_headers', '~> 6.3.2', :require => false
|
44
|
+
gem 'sinatra', :git => 'https://github.com/sinatra/sinatra', :tag => 'v2.0.8'
|
45
|
+
|
46
|
+
unless is_jruby
|
47
|
+
# JRuby doesn't support fork, which is required for this test helper.
|
48
|
+
gem 'rspec-command'
|
49
|
+
end
|
50
|
+
|
51
|
+
gem 'webmock', :require => false
|
52
|
+
|
53
|
+
gem 'aws-sdk-sqs'
|
54
|
+
gem 'shoryuken'
|
55
|
+
|
56
|
+
gemspec :path => '../'
|
@@ -0,0 +1,57 @@
|
|
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 'net-ssh', '<= 3.1.1'
|
10
|
+
gem 'public_suffix', '<= 3.1.1'
|
11
|
+
gem 'rails', '~> 5.1.7'
|
12
|
+
gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
|
13
|
+
|
14
|
+
gem 'rspec-core', '~> 3.5.0.beta3'
|
15
|
+
gem 'rspec-expectations', '~> 3.5.0.beta3'
|
16
|
+
gem 'rspec-mocks', '~> 3.5.0.beta3'
|
17
|
+
gem 'rspec-rails', '~> 3.5.0.beta3'
|
18
|
+
gem 'rspec-support', '~> 3.5.0.beta3'
|
19
|
+
|
20
|
+
gem 'rake'
|
21
|
+
|
22
|
+
gem 'sidekiq', '>= 2.13.0'
|
23
|
+
|
24
|
+
platforms :rbx do
|
25
|
+
gem 'minitest'
|
26
|
+
gem 'racc'
|
27
|
+
gem 'rubinius-developer_tools'
|
28
|
+
gem 'rubysl', '~> 2.0' if RUBY_VERSION.start_with?('2')
|
29
|
+
end
|
30
|
+
|
31
|
+
gem 'capistrano', :require => false
|
32
|
+
gem 'simplecov', '<= 0.17.1'
|
33
|
+
gem 'sucker_punch', '~> 2.0'
|
34
|
+
|
35
|
+
gem 'rack', '2.1.2' if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.3')
|
36
|
+
|
37
|
+
# We need last sinatra that uses rack 2.1.x
|
38
|
+
gem 'sinatra', :git => 'https://github.com/sinatra/sinatra', :tag => 'v2.0.8'
|
39
|
+
|
40
|
+
gem 'database_cleaner', '~> 1.8.4'
|
41
|
+
gem 'delayed_job', :require => false
|
42
|
+
gem 'generator_spec'
|
43
|
+
gem 'redis', '<= 3.3.5'
|
44
|
+
gem 'resque'
|
45
|
+
gem 'secure_headers', '~> 6.3.2', :require => false
|
46
|
+
|
47
|
+
unless is_jruby
|
48
|
+
# JRuby doesn't support fork, which is required for this test helper.
|
49
|
+
gem 'rspec-command'
|
50
|
+
end
|
51
|
+
|
52
|
+
gem 'webmock', :require => false
|
53
|
+
|
54
|
+
gem 'aws-sdk-sqs'
|
55
|
+
gem 'shoryuken'
|
56
|
+
|
57
|
+
gemspec :path => '../'
|
@@ -0,0 +1,56 @@
|
|
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', '~> 5.2.3'
|
10
|
+
gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
|
11
|
+
|
12
|
+
gem 'rspec-core', '~> 3.8.0'
|
13
|
+
gem 'rspec-expectations', '~> 3.8.0'
|
14
|
+
gem 'rspec-mocks', '~> 3.8.0'
|
15
|
+
gem 'rspec-rails', '~> 3.8.0'
|
16
|
+
gem 'rspec-support', '~> 3.8.0'
|
17
|
+
|
18
|
+
gem 'rake'
|
19
|
+
|
20
|
+
gem 'sidekiq', '>= 6.4.0'
|
21
|
+
|
22
|
+
platforms :rbx do
|
23
|
+
gem 'minitest'
|
24
|
+
gem 'racc'
|
25
|
+
gem 'rubinius-developer_tools'
|
26
|
+
gem 'rubysl', '~> 2.0' if RUBY_VERSION.start_with?('2')
|
27
|
+
end
|
28
|
+
|
29
|
+
gem 'sucker_punch', '~> 2.0'
|
30
|
+
|
31
|
+
# We need last sinatra that uses rack 2.x and ruby 2.5.x
|
32
|
+
gem 'sinatra', :git => 'https://github.com/sinatra/sinatra', :tag =>'v2.1.0'
|
33
|
+
|
34
|
+
gem 'database_cleaner'
|
35
|
+
gem 'delayed_job', :require => false
|
36
|
+
gem 'generator_spec'
|
37
|
+
gem 'redis', '<= 4.8.0'
|
38
|
+
gem 'resque'
|
39
|
+
gem 'secure_headers', '~> 6.3.2', :require => false
|
40
|
+
gem 'simplecov', '<= 0.17.1'
|
41
|
+
|
42
|
+
unless is_jruby
|
43
|
+
# JRuby doesn't support fork, which is required for this test helper.
|
44
|
+
gem 'rspec-command'
|
45
|
+
end
|
46
|
+
|
47
|
+
gem 'mime-types'
|
48
|
+
|
49
|
+
gem 'webmock', :require => false
|
50
|
+
|
51
|
+
gem 'aws-sdk-sqs'
|
52
|
+
gem 'shoryuken'
|
53
|
+
|
54
|
+
gem 'capistrano', :require => false
|
55
|
+
|
56
|
+
gemspec :path => '../'
|
@@ -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', '~> 6.0.2'
|
10
|
+
gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
|
11
|
+
|
12
|
+
gem 'rspec-rails', '~> 4.0.2'
|
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.9', :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 => '../'
|
@@ -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', '~> 6.1.5'
|
10
|
+
gem 'sqlite3', '~> 1.4', :platform => [:ruby, :mswin, :mingw]
|
11
|
+
|
12
|
+
gem 'rspec-rails', '~> 4.0.2'
|
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.9', :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 => '../'
|
@@ -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.0.8'
|
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 => '../'
|
@@ -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 => '../'
|