bugsnag 6.15.0 → 6.27.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (683) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/CHANGELOG.md +289 -0
  4. data/README.md +1 -2
  5. data/VERSION +1 -1
  6. data/bugsnag.gemspec +19 -2
  7. data/lib/bugsnag/breadcrumb_type.rb +14 -0
  8. data/lib/bugsnag/breadcrumbs/breadcrumb.rb +35 -2
  9. data/lib/bugsnag/breadcrumbs/breadcrumbs.rb +1 -0
  10. data/lib/bugsnag/breadcrumbs/on_breadcrumb_callback_list.rb +48 -0
  11. data/lib/bugsnag/breadcrumbs/validator.rb +0 -24
  12. data/lib/bugsnag/cleaner.rb +70 -29
  13. data/lib/bugsnag/configuration.rb +445 -47
  14. data/lib/bugsnag/delivery/synchronous.rb +3 -4
  15. data/lib/bugsnag/delivery/thread_queue.rb +18 -5
  16. data/lib/bugsnag/endpoint_configuration.rb +11 -0
  17. data/lib/bugsnag/endpoint_validator.rb +80 -0
  18. data/lib/bugsnag/error.rb +25 -0
  19. data/lib/bugsnag/event.rb +5 -0
  20. data/lib/bugsnag/feature_flag.rb +74 -0
  21. data/lib/bugsnag/helpers.rb +17 -9
  22. data/lib/bugsnag/integrations/delayed_job.rb +13 -1
  23. data/lib/bugsnag/integrations/mailman.rb +2 -1
  24. data/lib/bugsnag/integrations/mongo.rb +5 -4
  25. data/lib/bugsnag/integrations/que.rb +2 -1
  26. data/lib/bugsnag/integrations/rack.rb +6 -4
  27. data/lib/bugsnag/integrations/rails/active_job.rb +100 -0
  28. data/lib/bugsnag/integrations/rails/rails_breadcrumbs.rb +2 -2
  29. data/lib/bugsnag/integrations/railtie.rb +93 -35
  30. data/lib/bugsnag/integrations/rake.rb +8 -3
  31. data/lib/bugsnag/integrations/resque.rb +30 -9
  32. data/lib/bugsnag/integrations/shoryuken.rb +2 -1
  33. data/lib/bugsnag/integrations/sidekiq.rb +3 -3
  34. data/lib/bugsnag/middleware/active_job.rb +18 -0
  35. data/lib/bugsnag/middleware/classify_error.rb +1 -0
  36. data/lib/bugsnag/middleware/delayed_job.rb +21 -1
  37. data/lib/bugsnag/middleware/exception_meta_data.rb +2 -0
  38. data/lib/bugsnag/middleware/rack_request.rb +103 -20
  39. data/lib/bugsnag/middleware/rails3_request.rb +2 -2
  40. data/lib/bugsnag/middleware/rake.rb +1 -1
  41. data/lib/bugsnag/middleware/session_data.rb +3 -1
  42. data/lib/bugsnag/middleware/sidekiq.rb +1 -1
  43. data/lib/bugsnag/middleware/suggestion_data.rb +9 -7
  44. data/lib/bugsnag/middleware/warden_user.rb +3 -0
  45. data/lib/bugsnag/middleware_stack.rb +6 -6
  46. data/lib/bugsnag/report.rb +292 -8
  47. data/lib/bugsnag/session_tracker.rb +52 -12
  48. data/lib/bugsnag/stacktrace.rb +14 -3
  49. data/lib/bugsnag/tasks/bugsnag.rake +1 -1
  50. data/lib/bugsnag/utility/duplicator.rb +124 -0
  51. data/lib/bugsnag/utility/feature_data_store.rb +41 -0
  52. data/lib/bugsnag/utility/feature_flag_delegate.rb +89 -0
  53. data/lib/bugsnag/utility/metadata_delegate.rb +102 -0
  54. data/lib/bugsnag.rb +256 -37
  55. metadata +25 -635
  56. data/.buildkite/pipeline.yml +0 -470
  57. data/.github/PULL_REQUEST_TEMPLATE.md +0 -84
  58. data/.gitignore +0 -55
  59. data/.rdoc_options +0 -27
  60. data/.rspec +0 -3
  61. data/.rubocop.yml +0 -57
  62. data/.rubocop_todo.yml +0 -1049
  63. data/CONTRIBUTING.md +0 -64
  64. data/Gemfile +0 -50
  65. data/Rakefile +0 -37
  66. data/TESTING.md +0 -81
  67. data/UPGRADING.md +0 -91
  68. data/docker-compose.yml +0 -46
  69. data/dockerfiles/Dockerfile.jruby-unit-tests +0 -13
  70. data/dockerfiles/Dockerfile.ruby-maze-runner +0 -26
  71. data/dockerfiles/Dockerfile.ruby-unit-tests +0 -12
  72. data/features/.gitignore +0 -1
  73. data/features/delayed_job.feature +0 -36
  74. data/features/fixtures/delayed_job/Dockerfile +0 -15
  75. data/features/fixtures/delayed_job/app/.gitignore +0 -21
  76. data/features/fixtures/delayed_job/app/Gemfile +0 -57
  77. data/features/fixtures/delayed_job/app/README.md +0 -24
  78. data/features/fixtures/delayed_job/app/Rakefile +0 -24
  79. data/features/fixtures/delayed_job/app/app/assets/config/manifest.js +0 -3
  80. data/features/fixtures/delayed_job/app/app/assets/images/.keep +0 -0
  81. data/features/fixtures/delayed_job/app/app/assets/javascripts/application.js +0 -16
  82. data/features/fixtures/delayed_job/app/app/assets/javascripts/cable.js +0 -13
  83. data/features/fixtures/delayed_job/app/app/assets/javascripts/channels/.keep +0 -0
  84. data/features/fixtures/delayed_job/app/app/assets/stylesheets/application.css +0 -15
  85. data/features/fixtures/delayed_job/app/app/channels/application_cable/channel.rb +0 -4
  86. data/features/fixtures/delayed_job/app/app/channels/application_cable/connection.rb +0 -4
  87. data/features/fixtures/delayed_job/app/app/controllers/application_controller.rb +0 -3
  88. data/features/fixtures/delayed_job/app/app/controllers/concerns/.keep +0 -0
  89. data/features/fixtures/delayed_job/app/app/helpers/application_helper.rb +0 -2
  90. data/features/fixtures/delayed_job/app/app/jobs/application_job.rb +0 -2
  91. data/features/fixtures/delayed_job/app/app/mailers/application_mailer.rb +0 -4
  92. data/features/fixtures/delayed_job/app/app/models/application_record.rb +0 -3
  93. data/features/fixtures/delayed_job/app/app/models/concerns/.keep +0 -0
  94. data/features/fixtures/delayed_job/app/app/models/test_model.rb +0 -10
  95. data/features/fixtures/delayed_job/app/app/views/layouts/application.html.erb +0 -14
  96. data/features/fixtures/delayed_job/app/app/views/layouts/mailer.html.erb +0 -13
  97. data/features/fixtures/delayed_job/app/app/views/layouts/mailer.text.erb +0 -1
  98. data/features/fixtures/delayed_job/app/config/application.rb +0 -15
  99. data/features/fixtures/delayed_job/app/config/boot.rb +0 -3
  100. data/features/fixtures/delayed_job/app/config/cable.yml +0 -9
  101. data/features/fixtures/delayed_job/app/config/database.yml +0 -25
  102. data/features/fixtures/delayed_job/app/config/environment.rb +0 -5
  103. data/features/fixtures/delayed_job/app/config/environments/development.rb +0 -54
  104. data/features/fixtures/delayed_job/app/config/environments/production.rb +0 -86
  105. data/features/fixtures/delayed_job/app/config/environments/test.rb +0 -42
  106. data/features/fixtures/delayed_job/app/config/initializers/application_controller_renderer.rb +0 -8
  107. data/features/fixtures/delayed_job/app/config/initializers/assets.rb +0 -11
  108. data/features/fixtures/delayed_job/app/config/initializers/backtrace_silencers.rb +0 -7
  109. data/features/fixtures/delayed_job/app/config/initializers/bugsnag.rb +0 -14
  110. data/features/fixtures/delayed_job/app/config/initializers/cookies_serializer.rb +0 -5
  111. data/features/fixtures/delayed_job/app/config/initializers/delayed_job.rb +0 -3
  112. data/features/fixtures/delayed_job/app/config/initializers/filter_parameter_logging.rb +0 -4
  113. data/features/fixtures/delayed_job/app/config/initializers/inflections.rb +0 -16
  114. data/features/fixtures/delayed_job/app/config/initializers/mime_types.rb +0 -4
  115. data/features/fixtures/delayed_job/app/config/initializers/new_framework_defaults.rb +0 -26
  116. data/features/fixtures/delayed_job/app/config/initializers/session_store.rb +0 -3
  117. data/features/fixtures/delayed_job/app/config/initializers/wrap_parameters.rb +0 -14
  118. data/features/fixtures/delayed_job/app/config/locales/en.yml +0 -23
  119. data/features/fixtures/delayed_job/app/config/puma.rb +0 -47
  120. data/features/fixtures/delayed_job/app/config/routes.rb +0 -3
  121. data/features/fixtures/delayed_job/app/config/secrets.yml +0 -22
  122. data/features/fixtures/delayed_job/app/config/spring.rb +0 -6
  123. data/features/fixtures/delayed_job/app/config.ru +0 -5
  124. data/features/fixtures/delayed_job/app/db/migrate/20181024232549_create_delayed_jobs.rb +0 -22
  125. data/features/fixtures/delayed_job/app/db/migrate/20181024232817_create_test_models.rb +0 -8
  126. data/features/fixtures/delayed_job/app/db/schema.rb +0 -30
  127. data/features/fixtures/delayed_job/app/db/seeds.rb +0 -7
  128. data/features/fixtures/delayed_job/app/lib/assets/.keep +0 -0
  129. data/features/fixtures/delayed_job/app/lib/tasks/.keep +0 -0
  130. data/features/fixtures/delayed_job/app/log/.keep +0 -0
  131. data/features/fixtures/delayed_job/app/public/404.html +0 -67
  132. data/features/fixtures/delayed_job/app/public/422.html +0 -67
  133. data/features/fixtures/delayed_job/app/public/500.html +0 -66
  134. data/features/fixtures/delayed_job/app/public/apple-touch-icon-precomposed.png +0 -0
  135. data/features/fixtures/delayed_job/app/public/apple-touch-icon.png +0 -0
  136. data/features/fixtures/delayed_job/app/public/favicon.ico +0 -0
  137. data/features/fixtures/delayed_job/app/public/robots.txt +0 -5
  138. data/features/fixtures/delayed_job/app/test/controllers/.keep +0 -0
  139. data/features/fixtures/delayed_job/app/test/fixtures/.keep +0 -0
  140. data/features/fixtures/delayed_job/app/test/fixtures/files/.keep +0 -0
  141. data/features/fixtures/delayed_job/app/test/fixtures/test_models.yml +0 -11
  142. data/features/fixtures/delayed_job/app/test/helpers/.keep +0 -0
  143. data/features/fixtures/delayed_job/app/test/integration/.keep +0 -0
  144. data/features/fixtures/delayed_job/app/test/mailers/.keep +0 -0
  145. data/features/fixtures/delayed_job/app/test/models/.keep +0 -0
  146. data/features/fixtures/delayed_job/app/test/models/test_model_test.rb +0 -7
  147. data/features/fixtures/delayed_job/app/test/test_helper.rb +0 -10
  148. data/features/fixtures/delayed_job/app/tmp/.keep +0 -0
  149. data/features/fixtures/docker-compose.yml +0 -303
  150. data/features/fixtures/expected_breadcrumbs/active_job.json +0 -9
  151. data/features/fixtures/expected_breadcrumbs/mongo_failed.json +0 -15
  152. data/features/fixtures/expected_breadcrumbs/mongo_filtered_request.json +0 -15
  153. data/features/fixtures/expected_breadcrumbs/mongo_filtered_result.json +0 -15
  154. data/features/fixtures/expected_breadcrumbs/mongo_success.json +0 -14
  155. data/features/fixtures/expected_breadcrumbs/request.json +0 -13
  156. data/features/fixtures/expected_breadcrumbs/sql_with_bindings.json +0 -12
  157. data/features/fixtures/expected_breadcrumbs/sql_without_bindings.json +0 -11
  158. data/features/fixtures/plain/.dockerignore +0 -2
  159. data/features/fixtures/plain/Dockerfile +0 -11
  160. data/features/fixtures/plain/app/Gemfile +0 -3
  161. data/features/fixtures/plain/app/app.rb +0 -38
  162. data/features/fixtures/plain/app/configuration/api_key.rb +0 -9
  163. data/features/fixtures/plain/app/configuration/proxy.rb +0 -14
  164. data/features/fixtures/plain/app/configuration/send_handled.rb +0 -7
  165. data/features/fixtures/plain/app/configuration/send_unhandled.rb +0 -9
  166. data/features/fixtures/plain/app/delivery/fork_threadpool.rb +0 -27
  167. data/features/fixtures/plain/app/delivery/synchronous.rb +0 -14
  168. data/features/fixtures/plain/app/delivery/threadpool.rb +0 -14
  169. data/features/fixtures/plain/app/exception_data/crash.rb +0 -34
  170. data/features/fixtures/plain/app/exception_data/handled_context.rb +0 -10
  171. data/features/fixtures/plain/app/exception_data/handled_hash.rb +0 -10
  172. data/features/fixtures/plain/app/exception_data/handled_meta_data.rb +0 -10
  173. data/features/fixtures/plain/app/exception_data/handled_user_id.rb +0 -10
  174. data/features/fixtures/plain/app/exception_data/unhandled_context.rb +0 -7
  175. data/features/fixtures/plain/app/exception_data/unhandled_hash.rb +0 -7
  176. data/features/fixtures/plain/app/exception_data/unhandled_meta_data.rb +0 -7
  177. data/features/fixtures/plain/app/exception_data/unhandled_user_id.rb +0 -7
  178. data/features/fixtures/plain/app/filters/additional_filters.rb +0 -11
  179. data/features/fixtures/plain/app/filters/default_filters.rb +0 -15
  180. data/features/fixtures/plain/app/handled/block_metadata.rb +0 -15
  181. data/features/fixtures/plain/app/handled/ignore_exception.rb +0 -12
  182. data/features/fixtures/plain/app/handled/notify_exception.rb +0 -9
  183. data/features/fixtures/plain/app/handled/notify_string.rb +0 -9
  184. data/features/fixtures/plain/app/ignore_classes/handled.rb +0 -8
  185. data/features/fixtures/plain/app/ignore_classes/ignore_error.rb +0 -8
  186. data/features/fixtures/plain/app/ignore_classes/unhandled.rb +0 -4
  187. data/features/fixtures/plain/app/report_modification/add_tab.rb +0 -16
  188. data/features/fixtures/plain/app/report_modification/add_tab_existing.rb +0 -22
  189. data/features/fixtures/plain/app/report_modification/add_tab_override.rb +0 -19
  190. data/features/fixtures/plain/app/report_modification/ignore_report.rb +0 -9
  191. data/features/fixtures/plain/app/report_modification/initiators/handled_before_notify.rb +0 -10
  192. data/features/fixtures/plain/app/report_modification/initiators/handled_block.rb +0 -8
  193. data/features/fixtures/plain/app/report_modification/initiators/handled_on_error.rb +0 -10
  194. data/features/fixtures/plain/app/report_modification/initiators/unhandled_before_notify.rb +0 -11
  195. data/features/fixtures/plain/app/report_modification/initiators/unhandled_on_error.rb +0 -11
  196. data/features/fixtures/plain/app/report_modification/modify_api_key.rb +0 -9
  197. data/features/fixtures/plain/app/report_modification/modify_severity.rb +0 -9
  198. data/features/fixtures/plain/app/report_modification/remove_user_details.rb +0 -14
  199. data/features/fixtures/plain/app/report_modification/set_custom_user_details.rb +0 -16
  200. data/features/fixtures/plain/app/report_modification/set_user_details.rb +0 -13
  201. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_before_notify.rb +0 -29
  202. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_block.rb +0 -24
  203. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_on_error.rb +0 -29
  204. data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_before_notify.rb +0 -26
  205. data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_on_error.rb +0 -26
  206. data/features/fixtures/plain/app/stack_frame_modification/mark_frames_in_project.rb +0 -13
  207. data/features/fixtures/plain/app/stack_frame_modification/remove_stack_frame.rb +0 -9
  208. data/features/fixtures/plain/app/unhandled/bad_syntax.rb +0 -1
  209. data/features/fixtures/plain/app/unhandled/custom_error.rb +0 -9
  210. data/features/fixtures/plain/app/unhandled/interrupt.rb +0 -6
  211. data/features/fixtures/plain/app/unhandled/load_error.rb +0 -6
  212. data/features/fixtures/plain/app/unhandled/local_jump_error.rb +0 -10
  213. data/features/fixtures/plain/app/unhandled/name_error.rb +0 -6
  214. data/features/fixtures/plain/app/unhandled/no_method_error.rb +0 -6
  215. data/features/fixtures/plain/app/unhandled/runtime_error.rb +0 -6
  216. data/features/fixtures/plain/app/unhandled/syntax_error.rb +0 -6
  217. data/features/fixtures/plain/app/unhandled/system_call_error.rb +0 -6
  218. data/features/fixtures/plain/app/unhandled/system_exit.rb +0 -6
  219. data/features/fixtures/plain/json/delivery_fork.json +0 -4
  220. data/features/fixtures/plain/json/delivery_synchronous.json +0 -4
  221. data/features/fixtures/plain/json/delivery_threadpool.json +0 -4
  222. data/features/fixtures/plain/json/filters_default_metadata_filters.json +0 -9
  223. data/features/fixtures/rack1/.dockerignore +0 -1
  224. data/features/fixtures/rack1/Dockerfile +0 -13
  225. data/features/fixtures/rack1/Gemfile +0 -4
  226. data/features/fixtures/rack1/app.rb +0 -8
  227. data/features/fixtures/rack2/.dockerignore +0 -1
  228. data/features/fixtures/rack2/Dockerfile +0 -13
  229. data/features/fixtures/rack2/Gemfile +0 -4
  230. data/features/fixtures/rack2/app.rb +0 -8
  231. data/features/fixtures/rails3/.dockerignore +0 -1
  232. data/features/fixtures/rails3/Dockerfile +0 -15
  233. data/features/fixtures/rails3/app/.gitignore +0 -15
  234. data/features/fixtures/rails3/app/Gemfile +0 -17
  235. data/features/fixtures/rails3/app/Rakefile +0 -7
  236. data/features/fixtures/rails3/app/app/assets/images/rails.png +0 -0
  237. data/features/fixtures/rails3/app/app/assets/javascripts/application.js +0 -15
  238. data/features/fixtures/rails3/app/app/assets/stylesheets/application.css +0 -13
  239. data/features/fixtures/rails3/app/app/controllers/api_key_controller.rb +0 -20
  240. data/features/fixtures/rails3/app/app/controllers/app_type_controller.rb +0 -20
  241. data/features/fixtures/rails3/app/app/controllers/app_version_controller.rb +0 -25
  242. data/features/fixtures/rails3/app/app/controllers/application_controller.rb +0 -7
  243. data/features/fixtures/rails3/app/app/controllers/auto_notify_controller.rb +0 -31
  244. data/features/fixtures/rails3/app/app/controllers/before_notify_controller.rb +0 -44
  245. data/features/fixtures/rails3/app/app/controllers/breadcrumbs_controller.rb +0 -19
  246. data/features/fixtures/rails3/app/app/controllers/handled_controller.rb +0 -26
  247. data/features/fixtures/rails3/app/app/controllers/ignore_classes_controller.rb +0 -23
  248. data/features/fixtures/rails3/app/app/controllers/metadata_filters_controller.rb +0 -16
  249. data/features/fixtures/rails3/app/app/controllers/project_root_controller.rb +0 -25
  250. data/features/fixtures/rails3/app/app/controllers/release_stage_controller.rb +0 -20
  251. data/features/fixtures/rails3/app/app/controllers/send_code_controller.rb +0 -20
  252. data/features/fixtures/rails3/app/app/controllers/send_environment_controller.rb +0 -12
  253. data/features/fixtures/rails3/app/app/controllers/session_tracking_controller.rb +0 -24
  254. data/features/fixtures/rails3/app/app/controllers/unhandled_controller.rb +0 -11
  255. data/features/fixtures/rails3/app/app/controllers/warden_controller.rb +0 -30
  256. data/features/fixtures/rails3/app/app/helpers/application_helper.rb +0 -2
  257. data/features/fixtures/rails3/app/app/mailers/.gitkeep +0 -0
  258. data/features/fixtures/rails3/app/app/models/.gitkeep +0 -0
  259. data/features/fixtures/rails3/app/app/models/user.rb +0 -6
  260. data/features/fixtures/rails3/app/app/views/layouts/application.html.erb +0 -14
  261. data/features/fixtures/rails3/app/config/application.rb +0 -67
  262. data/features/fixtures/rails3/app/config/boot.rb +0 -6
  263. data/features/fixtures/rails3/app/config/database.yml +0 -31
  264. data/features/fixtures/rails3/app/config/environment.rb +0 -5
  265. data/features/fixtures/rails3/app/config/environments/development.rb +0 -37
  266. data/features/fixtures/rails3/app/config/environments/production.rb +0 -67
  267. data/features/fixtures/rails3/app/config/environments/rails_env.rb +0 -37
  268. data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +0 -29
  269. data/features/fixtures/rails3/app/config/initializers/secret_token.rb +0 -7
  270. data/features/fixtures/rails3/app/config/initializers/session_store.rb +0 -8
  271. data/features/fixtures/rails3/app/config/initializers/warden.rb +0 -3
  272. data/features/fixtures/rails3/app/config/initializers/wrap_parameters.rb +0 -14
  273. data/features/fixtures/rails3/app/config/locales/en.yml +0 -5
  274. data/features/fixtures/rails3/app/config/routes.rb +0 -19
  275. data/features/fixtures/rails3/app/config.ru +0 -4
  276. data/features/fixtures/rails3/app/db/migrate/20180423142727_create_users.rb +0 -45
  277. data/features/fixtures/rails3/app/db/schema.rb +0 -37
  278. data/features/fixtures/rails3/app/db/seeds.rb +0 -7
  279. data/features/fixtures/rails3/app/lib/assets/.gitkeep +0 -0
  280. data/features/fixtures/rails3/app/lib/strategies/token_strategy.rb +0 -12
  281. data/features/fixtures/rails3/app/lib/tasks/.gitkeep +0 -0
  282. data/features/fixtures/rails3/app/log/.gitkeep +0 -0
  283. data/features/fixtures/rails3/app/public/404.html +0 -26
  284. data/features/fixtures/rails3/app/public/422.html +0 -26
  285. data/features/fixtures/rails3/app/public/500.html +0 -25
  286. data/features/fixtures/rails3/app/public/favicon.ico +0 -0
  287. data/features/fixtures/rails3/app/public/index.html +0 -241
  288. data/features/fixtures/rails3/app/public/robots.txt +0 -5
  289. data/features/fixtures/rails3/app/script/rails +0 -6
  290. data/features/fixtures/rails4/.dockerignore +0 -1
  291. data/features/fixtures/rails4/Dockerfile +0 -17
  292. data/features/fixtures/rails4/app/.gitignore +0 -16
  293. data/features/fixtures/rails4/app/Gemfile +0 -46
  294. data/features/fixtures/rails4/app/README.rdoc +0 -28
  295. data/features/fixtures/rails4/app/Rakefile +0 -6
  296. data/features/fixtures/rails4/app/app/assets/images/.keep +0 -0
  297. data/features/fixtures/rails4/app/app/assets/javascripts/application.js +0 -16
  298. data/features/fixtures/rails4/app/app/assets/stylesheets/application.css +0 -13
  299. data/features/fixtures/rails4/app/app/controllers/api_key_controller.rb +0 -20
  300. data/features/fixtures/rails4/app/app/controllers/app_type_controller.rb +0 -20
  301. data/features/fixtures/rails4/app/app/controllers/app_version_controller.rb +0 -25
  302. data/features/fixtures/rails4/app/app/controllers/application_controller.rb +0 -7
  303. data/features/fixtures/rails4/app/app/controllers/auto_notify_controller.rb +0 -31
  304. data/features/fixtures/rails4/app/app/controllers/before_notify_controller.rb +0 -44
  305. data/features/fixtures/rails4/app/app/controllers/breadcrumbs_controller.rb +0 -26
  306. data/features/fixtures/rails4/app/app/controllers/concerns/.keep +0 -0
  307. data/features/fixtures/rails4/app/app/controllers/devise_controller.rb +0 -32
  308. data/features/fixtures/rails4/app/app/controllers/handled_controller.rb +0 -26
  309. data/features/fixtures/rails4/app/app/controllers/ignore_classes_controller.rb +0 -23
  310. data/features/fixtures/rails4/app/app/controllers/metadata_filters_controller.rb +0 -16
  311. data/features/fixtures/rails4/app/app/controllers/mongo_controller.rb +0 -23
  312. data/features/fixtures/rails4/app/app/controllers/project_root_controller.rb +0 -25
  313. data/features/fixtures/rails4/app/app/controllers/release_stage_controller.rb +0 -20
  314. data/features/fixtures/rails4/app/app/controllers/send_code_controller.rb +0 -20
  315. data/features/fixtures/rails4/app/app/controllers/send_environment_controller.rb +0 -12
  316. data/features/fixtures/rails4/app/app/controllers/session_tracking_controller.rb +0 -24
  317. data/features/fixtures/rails4/app/app/controllers/unhandled_controller.rb +0 -11
  318. data/features/fixtures/rails4/app/app/helpers/application_helper.rb +0 -2
  319. data/features/fixtures/rails4/app/app/jobs/application_job.rb +0 -2
  320. data/features/fixtures/rails4/app/app/jobs/notify_job.rb +0 -5
  321. data/features/fixtures/rails4/app/app/mailers/.keep +0 -0
  322. data/features/fixtures/rails4/app/app/models/.keep +0 -0
  323. data/features/fixtures/rails4/app/app/models/concerns/.keep +0 -0
  324. data/features/fixtures/rails4/app/app/models/mongo_model.rb +0 -6
  325. data/features/fixtures/rails4/app/app/models/user.rb +0 -6
  326. data/features/fixtures/rails4/app/app/views/layouts/application.html.erb +0 -14
  327. data/features/fixtures/rails4/app/config/application.rb +0 -23
  328. data/features/fixtures/rails4/app/config/boot.rb +0 -4
  329. data/features/fixtures/rails4/app/config/database.yml +0 -31
  330. data/features/fixtures/rails4/app/config/environment.rb +0 -5
  331. data/features/fixtures/rails4/app/config/environments/development.rb +0 -31
  332. data/features/fixtures/rails4/app/config/environments/production.rb +0 -81
  333. data/features/fixtures/rails4/app/config/environments/rails_env.rb +0 -30
  334. data/features/fixtures/rails4/app/config/environments/test.rb +0 -31
  335. data/features/fixtures/rails4/app/config/initializers/backtrace_silencers.rb +0 -7
  336. data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +0 -29
  337. data/features/fixtures/rails4/app/config/initializers/devise.rb +0 -283
  338. data/features/fixtures/rails4/app/config/initializers/filter_parameter_logging.rb +0 -5
  339. data/features/fixtures/rails4/app/config/initializers/inflections.rb +0 -16
  340. data/features/fixtures/rails4/app/config/initializers/mime_types.rb +0 -5
  341. data/features/fixtures/rails4/app/config/initializers/secret_token.rb +0 -12
  342. data/features/fixtures/rails4/app/config/initializers/session_store.rb +0 -3
  343. data/features/fixtures/rails4/app/config/initializers/wrap_parameters.rb +0 -14
  344. data/features/fixtures/rails4/app/config/locales/devise.en.yml +0 -64
  345. data/features/fixtures/rails4/app/config/locales/en.yml +0 -23
  346. data/features/fixtures/rails4/app/config/mongoid.yml +0 -22
  347. data/features/fixtures/rails4/app/config/routes.rb +0 -21
  348. data/features/fixtures/rails4/app/config.ru +0 -4
  349. data/features/fixtures/rails4/app/db/migrate/20180420160315_devise_create_users.rb +0 -47
  350. data/features/fixtures/rails4/app/db/seeds.rb +0 -7
  351. data/features/fixtures/rails4/app/lib/assets/.keep +0 -0
  352. data/features/fixtures/rails4/app/lib/tasks/.keep +0 -0
  353. data/features/fixtures/rails4/app/log/.keep +0 -0
  354. data/features/fixtures/rails4/app/public/404.html +0 -58
  355. data/features/fixtures/rails4/app/public/422.html +0 -58
  356. data/features/fixtures/rails4/app/public/500.html +0 -57
  357. data/features/fixtures/rails4/app/public/favicon.ico +0 -0
  358. data/features/fixtures/rails4/app/public/robots.txt +0 -5
  359. data/features/fixtures/rails4/app/test/controllers/.keep +0 -0
  360. data/features/fixtures/rails4/app/test/fixtures/.keep +0 -0
  361. data/features/fixtures/rails4/app/test/helpers/.keep +0 -0
  362. data/features/fixtures/rails4/app/test/integration/.keep +0 -0
  363. data/features/fixtures/rails4/app/test/mailers/.keep +0 -0
  364. data/features/fixtures/rails4/app/test/models/.keep +0 -0
  365. data/features/fixtures/rails4/app/test/test_helper.rb +0 -15
  366. data/features/fixtures/rails5/.dockerignore +0 -1
  367. data/features/fixtures/rails5/Dockerfile +0 -17
  368. data/features/fixtures/rails5/app/.gitignore +0 -21
  369. data/features/fixtures/rails5/app/Gemfile +0 -52
  370. data/features/fixtures/rails5/app/README.md +0 -24
  371. data/features/fixtures/rails5/app/Rakefile +0 -6
  372. data/features/fixtures/rails5/app/app/assets/config/manifest.js +0 -3
  373. data/features/fixtures/rails5/app/app/assets/images/.keep +0 -0
  374. data/features/fixtures/rails5/app/app/assets/javascripts/application.js +0 -16
  375. data/features/fixtures/rails5/app/app/assets/javascripts/cable.js +0 -13
  376. data/features/fixtures/rails5/app/app/assets/javascripts/channels/.keep +0 -0
  377. data/features/fixtures/rails5/app/app/assets/stylesheets/application.css +0 -15
  378. data/features/fixtures/rails5/app/app/channels/application_cable/channel.rb +0 -4
  379. data/features/fixtures/rails5/app/app/channels/application_cable/connection.rb +0 -4
  380. data/features/fixtures/rails5/app/app/controllers/api_key_controller.rb +0 -16
  381. data/features/fixtures/rails5/app/app/controllers/app_type_controller.rb +0 -16
  382. data/features/fixtures/rails5/app/app/controllers/app_version_controller.rb +0 -21
  383. data/features/fixtures/rails5/app/app/controllers/application_controller.rb +0 -7
  384. data/features/fixtures/rails5/app/app/controllers/auto_notify_controller.rb +0 -27
  385. data/features/fixtures/rails5/app/app/controllers/before_notify_controller.rb +0 -40
  386. data/features/fixtures/rails5/app/app/controllers/breadcrumbs_controller.rb +0 -24
  387. data/features/fixtures/rails5/app/app/controllers/clearance_controller.rb +0 -33
  388. data/features/fixtures/rails5/app/app/controllers/concerns/.keep +0 -0
  389. data/features/fixtures/rails5/app/app/controllers/handled_controller.rb +0 -22
  390. data/features/fixtures/rails5/app/app/controllers/ignore_classes_controller.rb +0 -19
  391. data/features/fixtures/rails5/app/app/controllers/metadata_filters_controller.rb +0 -12
  392. data/features/fixtures/rails5/app/app/controllers/mongo_controller.rb +0 -22
  393. data/features/fixtures/rails5/app/app/controllers/project_root_controller.rb +0 -21
  394. data/features/fixtures/rails5/app/app/controllers/release_stage_controller.rb +0 -16
  395. data/features/fixtures/rails5/app/app/controllers/send_code_controller.rb +0 -16
  396. data/features/fixtures/rails5/app/app/controllers/send_environment_controller.rb +0 -8
  397. data/features/fixtures/rails5/app/app/controllers/session_tracking_controller.rb +0 -20
  398. data/features/fixtures/rails5/app/app/controllers/unhandled_controller.rb +0 -7
  399. data/features/fixtures/rails5/app/app/helpers/application_helper.rb +0 -2
  400. data/features/fixtures/rails5/app/app/jobs/application_job.rb +0 -2
  401. data/features/fixtures/rails5/app/app/jobs/notify_job.rb +0 -5
  402. data/features/fixtures/rails5/app/app/mailers/application_mailer.rb +0 -4
  403. data/features/fixtures/rails5/app/app/models/application_record.rb +0 -3
  404. data/features/fixtures/rails5/app/app/models/concerns/.keep +0 -0
  405. data/features/fixtures/rails5/app/app/models/mongo_model.rb +0 -6
  406. data/features/fixtures/rails5/app/app/models/user.rb +0 -3
  407. data/features/fixtures/rails5/app/app/views/layouts/application.html.erb +0 -14
  408. data/features/fixtures/rails5/app/app/views/layouts/mailer.html.erb +0 -13
  409. data/features/fixtures/rails5/app/app/views/layouts/mailer.text.erb +0 -1
  410. data/features/fixtures/rails5/app/config/application.rb +0 -15
  411. data/features/fixtures/rails5/app/config/boot.rb +0 -3
  412. data/features/fixtures/rails5/app/config/cable.yml +0 -9
  413. data/features/fixtures/rails5/app/config/database.yml +0 -29
  414. data/features/fixtures/rails5/app/config/environment.rb +0 -5
  415. data/features/fixtures/rails5/app/config/environments/development.rb +0 -55
  416. data/features/fixtures/rails5/app/config/environments/production.rb +0 -87
  417. data/features/fixtures/rails5/app/config/environments/rails_env.rb +0 -55
  418. data/features/fixtures/rails5/app/config/environments/test.rb +0 -55
  419. data/features/fixtures/rails5/app/config/initializers/assets.rb +0 -11
  420. data/features/fixtures/rails5/app/config/initializers/backtrace_silencers.rb +0 -7
  421. data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +0 -29
  422. data/features/fixtures/rails5/app/config/initializers/clearance.rb +0 -5
  423. data/features/fixtures/rails5/app/config/initializers/cookies_serializer.rb +0 -5
  424. data/features/fixtures/rails5/app/config/initializers/filter_parameter_logging.rb +0 -5
  425. data/features/fixtures/rails5/app/config/initializers/inflections.rb +0 -16
  426. data/features/fixtures/rails5/app/config/initializers/mime_types.rb +0 -4
  427. data/features/fixtures/rails5/app/config/initializers/new_framework_defaults.rb +0 -24
  428. data/features/fixtures/rails5/app/config/initializers/session_store.rb +0 -3
  429. data/features/fixtures/rails5/app/config/initializers/wrap_parameters.rb +0 -14
  430. data/features/fixtures/rails5/app/config/locales/devise.en.yml +0 -64
  431. data/features/fixtures/rails5/app/config/locales/en.yml +0 -23
  432. data/features/fixtures/rails5/app/config/mongoid.yml +0 -23
  433. data/features/fixtures/rails5/app/config/puma.rb +0 -47
  434. data/features/fixtures/rails5/app/config/routes.rb +0 -62
  435. data/features/fixtures/rails5/app/config/secrets.yml +0 -25
  436. data/features/fixtures/rails5/app/config/spring.rb +0 -6
  437. data/features/fixtures/rails5/app/config.ru +0 -5
  438. data/features/fixtures/rails5/app/db/migrate/20180426095545_create_users.rb +0 -17
  439. data/features/fixtures/rails5/app/db/schema.rb +0 -29
  440. data/features/fixtures/rails5/app/db/seeds.rb +0 -7
  441. data/features/fixtures/rails5/app/lib/assets/.keep +0 -0
  442. data/features/fixtures/rails5/app/lib/tasks/.keep +0 -0
  443. data/features/fixtures/rails5/app/log/.keep +0 -0
  444. data/features/fixtures/rails5/app/public/404.html +0 -67
  445. data/features/fixtures/rails5/app/public/422.html +0 -67
  446. data/features/fixtures/rails5/app/public/500.html +0 -66
  447. data/features/fixtures/rails5/app/public/apple-touch-icon-precomposed.png +0 -0
  448. data/features/fixtures/rails5/app/public/apple-touch-icon.png +0 -0
  449. data/features/fixtures/rails5/app/public/favicon.ico +0 -0
  450. data/features/fixtures/rails5/app/public/robots.txt +0 -5
  451. data/features/fixtures/rails5/app/test/controllers/.keep +0 -0
  452. data/features/fixtures/rails5/app/test/fixtures/.keep +0 -0
  453. data/features/fixtures/rails5/app/test/fixtures/files/.keep +0 -0
  454. data/features/fixtures/rails5/app/test/helpers/.keep +0 -0
  455. data/features/fixtures/rails5/app/test/integration/.keep +0 -0
  456. data/features/fixtures/rails5/app/test/mailers/.keep +0 -0
  457. data/features/fixtures/rails5/app/test/models/.keep +0 -0
  458. data/features/fixtures/rails5/app/test/test_helper.rb +0 -10
  459. data/features/fixtures/rails5/app/tmp/.keep +0 -0
  460. data/features/fixtures/rails6/.dockerignore +0 -1
  461. data/features/fixtures/rails6/Dockerfile +0 -26
  462. data/features/fixtures/rails6/app/.browserslistrc +0 -1
  463. data/features/fixtures/rails6/app/.gitignore +0 -35
  464. data/features/fixtures/rails6/app/.ruby-version +0 -1
  465. data/features/fixtures/rails6/app/Gemfile +0 -58
  466. data/features/fixtures/rails6/app/README.md +0 -24
  467. data/features/fixtures/rails6/app/Rakefile +0 -6
  468. data/features/fixtures/rails6/app/app/assets/config/manifest.js +0 -2
  469. data/features/fixtures/rails6/app/app/assets/images/.keep +0 -0
  470. data/features/fixtures/rails6/app/app/assets/stylesheets/application.css +0 -15
  471. data/features/fixtures/rails6/app/app/channels/application_cable/channel.rb +0 -4
  472. data/features/fixtures/rails6/app/app/channels/application_cable/connection.rb +0 -4
  473. data/features/fixtures/rails6/app/app/controllers/api_key_controller.rb +0 -16
  474. data/features/fixtures/rails6/app/app/controllers/app_type_controller.rb +0 -16
  475. data/features/fixtures/rails6/app/app/controllers/app_version_controller.rb +0 -21
  476. data/features/fixtures/rails6/app/app/controllers/application_controller.rb +0 -7
  477. data/features/fixtures/rails6/app/app/controllers/auto_notify_controller.rb +0 -27
  478. data/features/fixtures/rails6/app/app/controllers/before_notify_controller.rb +0 -40
  479. data/features/fixtures/rails6/app/app/controllers/breadcrumbs_controller.rb +0 -24
  480. data/features/fixtures/rails6/app/app/controllers/clearance_controller.rb +0 -33
  481. data/features/fixtures/rails6/app/app/controllers/concerns/.keep +0 -0
  482. data/features/fixtures/rails6/app/app/controllers/handled_controller.rb +0 -22
  483. data/features/fixtures/rails6/app/app/controllers/ignore_classes_controller.rb +0 -19
  484. data/features/fixtures/rails6/app/app/controllers/metadata_filters_controller.rb +0 -12
  485. data/features/fixtures/rails6/app/app/controllers/mongo_controller.rb +0 -22
  486. data/features/fixtures/rails6/app/app/controllers/project_root_controller.rb +0 -21
  487. data/features/fixtures/rails6/app/app/controllers/release_stage_controller.rb +0 -16
  488. data/features/fixtures/rails6/app/app/controllers/send_code_controller.rb +0 -16
  489. data/features/fixtures/rails6/app/app/controllers/send_environment_controller.rb +0 -8
  490. data/features/fixtures/rails6/app/app/controllers/session_tracking_controller.rb +0 -20
  491. data/features/fixtures/rails6/app/app/controllers/unhandled_controller.rb +0 -7
  492. data/features/fixtures/rails6/app/app/helpers/application_helper.rb +0 -2
  493. data/features/fixtures/rails6/app/app/javascript/channels/consumer.js +0 -6
  494. data/features/fixtures/rails6/app/app/javascript/channels/index.js +0 -5
  495. data/features/fixtures/rails6/app/app/javascript/packs/application.js +0 -9
  496. data/features/fixtures/rails6/app/app/jobs/application_job.rb +0 -7
  497. data/features/fixtures/rails6/app/app/jobs/notify_job.rb +0 -5
  498. data/features/fixtures/rails6/app/app/mailers/application_mailer.rb +0 -4
  499. data/features/fixtures/rails6/app/app/models/application_record.rb +0 -3
  500. data/features/fixtures/rails6/app/app/models/concerns/.keep +0 -0
  501. data/features/fixtures/rails6/app/app/models/mongo_model.rb +0 -6
  502. data/features/fixtures/rails6/app/app/models/user.rb +0 -3
  503. data/features/fixtures/rails6/app/app/views/layouts/application.html.erb +0 -15
  504. data/features/fixtures/rails6/app/app/views/layouts/mailer.html.erb +0 -13
  505. data/features/fixtures/rails6/app/app/views/layouts/mailer.text.erb +0 -1
  506. data/features/fixtures/rails6/app/babel.config.js +0 -70
  507. data/features/fixtures/rails6/app/config/application.rb +0 -19
  508. data/features/fixtures/rails6/app/config/boot.rb +0 -4
  509. data/features/fixtures/rails6/app/config/cable.yml +0 -13
  510. data/features/fixtures/rails6/app/config/credentials.yml.enc +0 -1
  511. data/features/fixtures/rails6/app/config/database.yml +0 -29
  512. data/features/fixtures/rails6/app/config/environment.rb +0 -5
  513. data/features/fixtures/rails6/app/config/environments/development.rb +0 -64
  514. data/features/fixtures/rails6/app/config/environments/production.rb +0 -113
  515. data/features/fixtures/rails6/app/config/environments/rails_env.rb +0 -56
  516. data/features/fixtures/rails6/app/config/environments/test.rb +0 -48
  517. data/features/fixtures/rails6/app/config/initializers/application_controller_renderer.rb +0 -8
  518. data/features/fixtures/rails6/app/config/initializers/assets.rb +0 -14
  519. data/features/fixtures/rails6/app/config/initializers/backtrace_silencers.rb +0 -7
  520. data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +0 -29
  521. data/features/fixtures/rails6/app/config/initializers/content_security_policy.rb +0 -27
  522. data/features/fixtures/rails6/app/config/initializers/cookies_serializer.rb +0 -5
  523. data/features/fixtures/rails6/app/config/initializers/filter_parameter_logging.rb +0 -5
  524. data/features/fixtures/rails6/app/config/initializers/inflections.rb +0 -16
  525. data/features/fixtures/rails6/app/config/initializers/mime_types.rb +0 -4
  526. data/features/fixtures/rails6/app/config/initializers/wrap_parameters.rb +0 -14
  527. data/features/fixtures/rails6/app/config/locales/en.yml +0 -33
  528. data/features/fixtures/rails6/app/config/mongoid.yml +0 -23
  529. data/features/fixtures/rails6/app/config/puma.rb +0 -35
  530. data/features/fixtures/rails6/app/config/routes.rb +0 -62
  531. data/features/fixtures/rails6/app/config/secrets.yml +0 -25
  532. data/features/fixtures/rails6/app/config/spring.rb +0 -6
  533. data/features/fixtures/rails6/app/config/storage.yml +0 -34
  534. data/features/fixtures/rails6/app/config/webpack/development.js +0 -5
  535. data/features/fixtures/rails6/app/config/webpack/environment.js +0 -3
  536. data/features/fixtures/rails6/app/config/webpack/production.js +0 -5
  537. data/features/fixtures/rails6/app/config/webpack/rails_env.js +0 -5
  538. data/features/fixtures/rails6/app/config/webpack/test.js +0 -5
  539. data/features/fixtures/rails6/app/config/webpacker.yml +0 -121
  540. data/features/fixtures/rails6/app/config.ru +0 -5
  541. data/features/fixtures/rails6/app/db/migrate/20180426095545_create_users.rb +0 -17
  542. data/features/fixtures/rails6/app/db/schema.rb +0 -29
  543. data/features/fixtures/rails6/app/db/seeds.rb +0 -7
  544. data/features/fixtures/rails6/app/lib/assets/.keep +0 -0
  545. data/features/fixtures/rails6/app/lib/tasks/.keep +0 -0
  546. data/features/fixtures/rails6/app/log/.keep +0 -0
  547. data/features/fixtures/rails6/app/package.json +0 -15
  548. data/features/fixtures/rails6/app/postcss.config.js +0 -12
  549. data/features/fixtures/rails6/app/public/404.html +0 -67
  550. data/features/fixtures/rails6/app/public/422.html +0 -67
  551. data/features/fixtures/rails6/app/public/500.html +0 -66
  552. data/features/fixtures/rails6/app/public/apple-touch-icon-precomposed.png +0 -0
  553. data/features/fixtures/rails6/app/public/apple-touch-icon.png +0 -0
  554. data/features/fixtures/rails6/app/public/favicon.ico +0 -0
  555. data/features/fixtures/rails6/app/public/robots.txt +0 -1
  556. data/features/fixtures/rails6/app/storage/.keep +0 -0
  557. data/features/fixtures/rails6/app/test/application_system_test_case.rb +0 -5
  558. data/features/fixtures/rails6/app/test/channels/application_cable/connection_test.rb +0 -11
  559. data/features/fixtures/rails6/app/test/controllers/.keep +0 -0
  560. data/features/fixtures/rails6/app/test/fixtures/.keep +0 -0
  561. data/features/fixtures/rails6/app/test/fixtures/files/.keep +0 -0
  562. data/features/fixtures/rails6/app/test/helpers/.keep +0 -0
  563. data/features/fixtures/rails6/app/test/integration/.keep +0 -0
  564. data/features/fixtures/rails6/app/test/mailers/.keep +0 -0
  565. data/features/fixtures/rails6/app/test/models/.keep +0 -0
  566. data/features/fixtures/rails6/app/test/system/.keep +0 -0
  567. data/features/fixtures/rails6/app/test/test_helper.rb +0 -13
  568. data/features/fixtures/rails6/app/tmp/.keep +0 -0
  569. data/features/fixtures/rails6/app/yarn.lock +0 -6082
  570. data/features/fixtures/resque/.dockerignore +0 -1
  571. data/features/fixtures/resque/Dockerfile +0 -14
  572. data/features/fixtures/resque/Gemfile +0 -6
  573. data/features/fixtures/resque/Rakefile +0 -4
  574. data/features/fixtures/resque/app.rb +0 -12
  575. data/features/fixtures/sidekiq/.dockerignore +0 -2
  576. data/features/fixtures/sidekiq/Dockerfile +0 -17
  577. data/features/fixtures/sidekiq/app/Gemfile +0 -7
  578. data/features/fixtures/sidekiq/app/Rakefile.rb +0 -14
  579. data/features/fixtures/sidekiq/app/app.rb +0 -35
  580. data/features/fixtures/sidekiq/app/initializers/HandledError.rb +0 -3
  581. data/features/fixtures/sidekiq/app/initializers/UnhandledError.rb +0 -3
  582. data/features/fixtures/sidekiq/payloads/handled_metadata_ca_false.json +0 -11
  583. data/features/fixtures/sidekiq/payloads/handled_metadata_ca_true.json +0 -12
  584. data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_false.json +0 -11
  585. data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_true.json +0 -12
  586. data/features/fixtures/sinatra1/.dockerignore +0 -1
  587. data/features/fixtures/sinatra1/Dockerfile +0 -13
  588. data/features/fixtures/sinatra1/Gemfile +0 -4
  589. data/features/fixtures/sinatra1/app.rb +0 -9
  590. data/features/fixtures/sinatra2/.dockerignore +0 -1
  591. data/features/fixtures/sinatra2/Dockerfile +0 -13
  592. data/features/fixtures/sinatra2/Gemfile +0 -4
  593. data/features/fixtures/sinatra2/app.rb +0 -9
  594. data/features/plain_features/add_tab.feature +0 -55
  595. data/features/plain_features/app_type.feature +0 -8
  596. data/features/plain_features/app_version.feature +0 -8
  597. data/features/plain_features/auto_notify.feature +0 -7
  598. data/features/plain_features/delivery.feature +0 -20
  599. data/features/plain_features/exception_data.feature +0 -50
  600. data/features/plain_features/filters.feature +0 -14
  601. data/features/plain_features/handled_errors.feature +0 -42
  602. data/features/plain_features/ignore_classes.feature +0 -11
  603. data/features/plain_features/ignore_report.feature +0 -14
  604. data/features/plain_features/proxies.feature +0 -25
  605. data/features/plain_features/release_stages.feature +0 -20
  606. data/features/plain_features/report_api_key.feature +0 -16
  607. data/features/plain_features/report_severity.feature +0 -17
  608. data/features/plain_features/report_stack_frames.feature +0 -53
  609. data/features/plain_features/report_user.feature +0 -51
  610. data/features/plain_features/unhandled_errors.feature +0 -33
  611. data/features/rails_features/api_key.feature +0 -15
  612. data/features/rails_features/app_type.feature +0 -24
  613. data/features/rails_features/app_version.feature +0 -26
  614. data/features/rails_features/auto_capture_sessions.feature +0 -34
  615. data/features/rails_features/auto_notify.feature +0 -41
  616. data/features/rails_features/before_notify.feature +0 -44
  617. data/features/rails_features/breadcrumbs.feature +0 -43
  618. data/features/rails_features/handled.feature +0 -42
  619. data/features/rails_features/ignore_classes.feature +0 -14
  620. data/features/rails_features/meta_data_filters.feature +0 -16
  621. data/features/rails_features/mongo_breadcrumbs.feature +0 -26
  622. data/features/rails_features/on_error.feature +0 -29
  623. data/features/rails_features/project_root.feature +0 -35
  624. data/features/rails_features/release_stage.feature +0 -27
  625. data/features/rails_features/send_code.feature +0 -18
  626. data/features/rails_features/send_environment.feature +0 -13
  627. data/features/rails_features/unhandled.feature +0 -16
  628. data/features/rails_features/user_info.feature +0 -52
  629. data/features/sidekiq.feature +0 -30
  630. data/features/steps/ruby_notifier_steps.rb +0 -75
  631. data/features/support/env.rb +0 -23
  632. data/issue_template.md +0 -48
  633. data/spec/breadcrumbs/breadcrumb_spec.rb +0 -93
  634. data/spec/breadcrumbs/validator_spec.rb +0 -176
  635. data/spec/bugsnag_spec.rb +0 -366
  636. data/spec/cleaner_spec.rb +0 -350
  637. data/spec/code_extractor_spec.rb +0 -129
  638. data/spec/configuration_spec.rb +0 -445
  639. data/spec/fixtures/apps/rails-initializer-config/Gemfile +0 -9
  640. data/spec/fixtures/apps/rails-initializer-config/config/initializers/bugsnag.rb +0 -3
  641. data/spec/fixtures/apps/rails-initializer-config/config.ru +0 -16
  642. data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +0 -9
  643. data/spec/fixtures/apps/rails-invalid-initializer-config/config/initializers/bugsnag.rb +0 -3
  644. data/spec/fixtures/apps/rails-invalid-initializer-config/config.ru +0 -16
  645. data/spec/fixtures/apps/rails-no-config/Gemfile +0 -9
  646. data/spec/fixtures/apps/rails-no-config/config.ru +0 -16
  647. data/spec/fixtures/apps/scripts/Gemfile +0 -3
  648. data/spec/fixtures/apps/scripts/configure_invalid_key.rb +0 -5
  649. data/spec/fixtures/apps/scripts/configure_key.rb +0 -5
  650. data/spec/fixtures/apps/scripts/no_config.rb +0 -3
  651. data/spec/fixtures/crashes/end_of_file.rb +0 -9
  652. data/spec/fixtures/crashes/file1.rb +0 -29
  653. data/spec/fixtures/crashes/file2.rb +0 -25
  654. data/spec/fixtures/crashes/file_with_long_lines.rb +0 -7
  655. data/spec/fixtures/crashes/functions.rb +0 -29
  656. data/spec/fixtures/crashes/short_file.rb +0 -3
  657. data/spec/fixtures/crashes/start_of_file.rb +0 -9
  658. data/spec/fixtures/middleware/internal_info_setter.rb +0 -11
  659. data/spec/fixtures/middleware/public_info_setter.rb +0 -11
  660. data/spec/fixtures/tasks/Rakefile +0 -26
  661. data/spec/helper_spec.rb +0 -131
  662. data/spec/integration_spec.rb +0 -107
  663. data/spec/integrations/clearance_user_spec.rb +0 -38
  664. data/spec/integrations/logger_spec.rb +0 -134
  665. data/spec/integrations/mailman_spec.rb +0 -83
  666. data/spec/integrations/mongo_spec.rb +0 -262
  667. data/spec/integrations/que_spec.rb +0 -94
  668. data/spec/integrations/rack_spec.rb +0 -232
  669. data/spec/integrations/rails3_request_spec.rb +0 -67
  670. data/spec/integrations/rake_spec.rb +0 -71
  671. data/spec/integrations/resque_spec.rb +0 -99
  672. data/spec/integrations/shoryuken_spec.rb +0 -70
  673. data/spec/integrations/sidekiq_spec.rb +0 -137
  674. data/spec/integrations/warden_user_spec.rb +0 -41
  675. data/spec/middleware/exception_meta_data_spec.rb +0 -104
  676. data/spec/middleware_spec.rb +0 -254
  677. data/spec/middleware_stack_spec.rb +0 -151
  678. data/spec/on_error_spec.rb +0 -332
  679. data/spec/report_spec.rb +0 -1583
  680. data/spec/session_tracker_spec.rb +0 -156
  681. data/spec/spec_helper.rb +0 -99
  682. data/spec/stacktrace_spec.rb +0 -443
  683. data/spec/utility/circular_buffer_spec.rb +0 -98
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1a4f6c896c7046dba3d9db2adfa32e232232e3a7923cb9984321ee3a8b09b6e3
4
- data.tar.gz: f6b27c0b50846c1a3e012bb80bccbe5ad6663257c8de4e300742e7af4b065b3f
3
+ metadata.gz: 7f8eb06e59bf516cfc5ca7f5539ae3b0fdbd9c4ea86a82252d6c2ea787a7c255
4
+ data.tar.gz: 01be8584412260118dfb14548808e1c4c4444aadd040bbbd6c6ad5dee3da1dbc
5
5
  SHA512:
6
- metadata.gz: d51d64bbf0b2cc094742a8a207702e963c33eac9e18f58f2348f3d9e6475a1bd0c43dc44baf139bb976823bfabd8b3ff5bab261ae3dababd46f083b7539602f4
7
- data.tar.gz: 3621690efd266608313b000f7acff6df354380457e9b78e448290573e97dd0b17beb68afa5efff96fdcc7b21b39d2d292fddc38082eae7bece24dd1f2d457f0d
6
+ metadata.gz: bebc3030e22bbc50423792c701185d061b0d7834c6a741c805cafa6223753e941cd893a73c65792b8726fc6adf9f9c47ea30715c14381f5a2ac87c52d345ba98
7
+ data.tar.gz: 1923948f57cc1f032eaf249912d6f5e65423c853bc2cffe89b1b198aead96bc34303aa3aec95f9699911176579cbee14797e805986f24aff2834458413dc5066
data/.yardopts ADDED
@@ -0,0 +1,12 @@
1
+ --charset UTF-8
2
+ --fail-on-warning
3
+ --hide-api private
4
+ --no-private
5
+ --protected
6
+ --title "bugsnag-ruby API Documentation"
7
+ --embed-mixins
8
+ lib/**/*.rb
9
+ -
10
+ README.md
11
+ CONTRIBUTING.md
12
+ CHANGELOG.md
data/CHANGELOG.md CHANGED
@@ -1,6 +1,295 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## v6.27.1 (18 June 2024)
5
+
6
+ ### Fixes
7
+
8
+ * Only read Rack request body if it's rewindable
9
+ | [#829](https://github.com/bugsnag/bugsnag-ruby/pull/829)
10
+ * Fix circular require warning
11
+ | [#828](https://github.com/bugsnag/bugsnag-ruby/pull/828)
12
+
13
+ ## v6.27.0 (23 May 2024)
14
+
15
+ ### Enhancements
16
+
17
+ * Include the Warden scope in user metadata
18
+ | [#821](https://github.com/bugsnag/bugsnag-ruby/pull/821)
19
+ | [javierjulio](https://github.com/javierjulio)
20
+ * Add a block variant of `add_on_error`
21
+ | [#824](https://github.com/bugsnag/bugsnag-ruby/pull/824)
22
+
23
+ ## v6.26.4 (25 March 2024)
24
+
25
+ ### Fixes
26
+
27
+ * Fix Unicode encoding issues when using `Exception#detailed_message` (Ruby 3.2+)
28
+ | [#817](https://github.com/bugsnag/bugsnag-ruby/pull/817)
29
+ * Fix compatibility with Ruby 3.4-dev
30
+ | [#815](https://github.com/bugsnag/bugsnag-ruby/pull/815)
31
+ | [k0kubun](https://github.com/k0kubun)
32
+
33
+ ## v6.26.3 (24 January 2024)
34
+
35
+ ### Fixes
36
+
37
+ * Handle mailto links in `Cleaner#clean_url`
38
+ | [#813](https://github.com/bugsnag/bugsnag-ruby/pull/813)
39
+
40
+ ## v6.26.2 (17 January 2024)
41
+
42
+ ### Fixes
43
+
44
+ * Fix unhandled `URI::InvalidURIError` in `Cleaner#clean_url`
45
+ | [#811](https://github.com/bugsnag/bugsnag-ruby/pull/811)
46
+
47
+ ## v6.26.1 (9 January 2024)
48
+
49
+ ### Fixes
50
+
51
+ * Fix deprecation warning from Sidekiq error handler
52
+ | [#796](https://github.com/bugsnag/bugsnag-ruby/pull/796)
53
+ | [fukayatsu](https://github.com/fukayatsu)
54
+ * Fix Resque integration when failure backend is already `Resque::Failure::Multiple`
55
+ | [#803](https://github.com/bugsnag/bugsnag-ruby/pull/803)
56
+ | [sj26](https://github.com/sj26)
57
+ * Redact URLs in automatic Rails breadcrumbs
58
+ | [#806](https://github.com/bugsnag/bugsnag-ruby/pull/806)
59
+
60
+ ## v6.26.0 (19 July 2023)
61
+
62
+ ### Enhancements
63
+
64
+ * Support Sidekiq v7
65
+ | [#785](https://github.com/bugsnag/bugsnag-ruby/pull/785)
66
+ | [stevenharman](https://github.com/stevenharman)
67
+
68
+ ## v6.25.2 (7 February 2023)
69
+
70
+ ### Enhancements
71
+
72
+ * Improve performance of `Bugsnag.notify`
73
+ | [#774](https://github.com/bugsnag/bugsnag-ruby/pull/774)
74
+ | [sambostock](https://github.com/sambostock)
75
+
76
+ ## v6.25.1 (5 January 2023)
77
+
78
+ ### Fixes
79
+
80
+ * Allow Gem paths to be stripped from file names in stacktraces when they contain a Regexp special character
81
+ | [#764](https://github.com/bugsnag/bugsnag-ruby/pull/764)
82
+
83
+ ### Enhancements
84
+
85
+ * Use `Exception#detailed_message` instead of `Exception#message` when available
86
+ | [#761](https://github.com/bugsnag/bugsnag-ruby/pull/761)
87
+
88
+ ## v6.25.0 (1 December 2022)
89
+
90
+ ### Enhancements
91
+
92
+ * Add support for feature flags & experiments. For more information, please see https://docs.bugsnag.com/product/features-experiments
93
+ | [#758](https://github.com/bugsnag/bugsnag-ruby/pull/758)
94
+
95
+ ## v6.24.2 (21 January 2022)
96
+
97
+ ### Fixes
98
+
99
+ * Avoid rescuing from errors in Active Record transaction callbacks in versions of Rails where they will be re-raised
100
+ | [#709](https://github.com/bugsnag/bugsnag-ruby/pull/709)
101
+ | [apalmblad](https://github.com/apalmblad)
102
+
103
+ ## v6.24.1 (30 November 2021)
104
+
105
+ ### Fixes
106
+
107
+ * Fix metadata not being recorded when using Resque outside of Active Job
108
+ | [#710](https://github.com/bugsnag/bugsnag-ruby/pull/710)
109
+ | [isnotajoke](https://github.com/isnotajoke)
110
+
111
+ ## v6.24.0 (6 October 2021)
112
+
113
+ ### Enhancements
114
+
115
+ * Allow overriding an event's unhandled flag
116
+ | [#698](https://github.com/bugsnag/bugsnag-ruby/pull/698)
117
+ * Add the ability to store metadata globally
118
+ | [#699](https://github.com/bugsnag/bugsnag-ruby/pull/699)
119
+ * Add `cookies`, `body` and `httpVersion` to the automatically captured request data for Rack apps
120
+ | [#700](https://github.com/bugsnag/bugsnag-ruby/pull/700)
121
+ * Add `Configuration#endpoints` for reading the notify and sessions endpoints and `Configuration#endpoints=` for setting them
122
+ | [#701](https://github.com/bugsnag/bugsnag-ruby/pull/701)
123
+ * Add `Configuration#redacted_keys`. This is like `meta_data_filters` but matches strings with case-insensitive equality, rather than matching based on inclusion
124
+ | [#703](https://github.com/bugsnag/bugsnag-ruby/pull/703)
125
+ * Allow pausing and resuming sessions, giving more control over the stability score
126
+ | [#704](https://github.com/bugsnag/bugsnag-ruby/pull/704)
127
+ * Add `Configuration#vendor_paths` to replace `Configuration#vendor_path`
128
+ | [#705](https://github.com/bugsnag/bugsnag-ruby/pull/705)
129
+
130
+ ### Deprecated
131
+
132
+ * In the next major release, `params` will only contain query string parameters. Currently it also contains the request body for form data requests, but this is deprecated in favour of the new `body` property
133
+ * The `Configuration#set_endpoints` method is now deprecated in favour of `Configuration#endpoints=`
134
+ * The `Configuration#meta_data_filters` option is now deprecated in favour of `Configuration#redacted_keys`
135
+ * The `Configuration#vendor_path` option is now deprecated in favour of `Configuration#vendor_paths`
136
+
137
+ ## v6.23.0 (21 September 2021)
138
+
139
+ ### Enhancements
140
+
141
+ * Sessions will now be delivered every 10 seconds, instead of every 30 seconds
142
+ | [#680](https://github.com/bugsnag/bugsnag-ruby/pull/680)
143
+ * Log errors that prevent delivery at `ERROR` level
144
+ | [#681](https://github.com/bugsnag/bugsnag-ruby/pull/681)
145
+ * Add `on_breadcrumb` callbacks to replace `before_breadcrumb_callbacks`
146
+ | [#686](https://github.com/bugsnag/bugsnag-ruby/pull/686)
147
+ * Add `context` attribute to configuration, which will be used as the default context for events. Using this option will disable automatic context setting
148
+ | [#687](https://github.com/bugsnag/bugsnag-ruby/pull/687)
149
+ | [#688](https://github.com/bugsnag/bugsnag-ruby/pull/688)
150
+ * Add `Bugsnag#breadcrumbs` getter to fetch the current list of breadcrumbs
151
+ | [#689](https://github.com/bugsnag/bugsnag-ruby/pull/689)
152
+ * Add `time` (an ISO8601 string in UTC) to `device` metadata
153
+ | [#690](https://github.com/bugsnag/bugsnag-ruby/pull/690)
154
+ * Add `errors` to `Report`/`Event` containing an array of `Error` objects. The `Error` object contains `error_class`, `error_message`, `stacktrace` and `type` (always "ruby")
155
+ | [#691](https://github.com/bugsnag/bugsnag-ruby/pull/691)
156
+ * Add `original_error` to `Report`/`Event` containing the original Exception instance
157
+ | [#692](https://github.com/bugsnag/bugsnag-ruby/pull/692)
158
+ * Add `request` to `Report`/`Event` containing HTTP request metadata
159
+ | [#693](https://github.com/bugsnag/bugsnag-ruby/pull/693)
160
+ * Add `add_metadata` and `clear_metadata` to `Report`/`Event`
161
+ | [#694](https://github.com/bugsnag/bugsnag-ruby/pull/694)
162
+ * Add `set_user` to `Report`/`Event`
163
+ | [#695](https://github.com/bugsnag/bugsnag-ruby/pull/695)
164
+
165
+ ### Fixes
166
+
167
+ * Avoid starting session delivery thread when the current release stage is not enabled
168
+ | [#677](https://github.com/bugsnag/bugsnag-ruby/pull/677)
169
+
170
+ ### Deprecated
171
+
172
+ * `before_breadcrumb_callbacks` have been deprecated in favour of `on_breadcrumb` callbacks and will be removed in the next major release
173
+ * For consistency with Bugsnag notifiers for other languages, a number of methods have been deprecated in this release. The old options will be removed in the next major version | [#676](https://github.com/bugsnag/bugsnag-ruby/pull/676)
174
+ * The `notify_release_stages` configuration option has been deprecated in favour of `enabled_release_stages`
175
+ * The `auto_capture_sessions` and `track_sessions` configuration options have been deprecated in favour of `auto_track_sessions`
176
+ * The `enabled_automatic_breadcrumb_types` configuration option has been deprecated in favour of `enabled_breadcrumb_types`
177
+ * The `Report` class has been deprecated in favour of the `Event` class
178
+ * The `Report#meta_data` attribute has been deprecated in favour of `Event#metadata`
179
+ * The `Breadcrumb#meta_data` attribute has been deprecated in favour of `Breadcrumb#metadata`
180
+ * The `Breadcrumb#name` attribute has been deprecated in favour of `Breadcrumb#message`
181
+ * The breadcrumb type constants in the `Bugsnag::Breadcrumbs` module has been deprecated in favour of the constants available in the `Bugsnag::BreadcrumbType` module
182
+ For example, `Bugsnag::Breadcrumbs::ERROR_BREADCRUMB_TYPE` is now available as `Bugsnag::BreadcrumbType::ERROR`
183
+ * `Report#exceptions` has been deprecated in favour of the new `errors` property
184
+ * `Report#raw_exceptions` has been deprecated in favour of the new `original_error` property
185
+ * Accessing request data via `Report#metadata` has been deprecated in favour of using the new `request` property. Request data will be moved out of metadata in the next major version
186
+ * The `Report#add_tab` and `Report#remove_tab` methods have been deprecated in favour of the new `add_metadata` and `clear_metadata` methods
187
+
188
+ ## v6.22.1 (11 August 2021)
189
+
190
+ ### Fixes
191
+
192
+ * Fix possible `LocalJumpError` introduced in v6.22.0
193
+ | [#675](https://github.com/bugsnag/bugsnag-ruby/pull/675)
194
+
195
+ ## v6.22.0 (10 August 2021)
196
+
197
+ ### Enhancements
198
+
199
+ * Add support for tracking exceptions and capturing metadata in Active Job, when not using an existing integration
200
+ | [#670](https://github.com/bugsnag/bugsnag-ruby/pull/670)
201
+
202
+ * Improve the report context when using Delayed Job or Resque as the Active Job queue adapter
203
+ | [#671](https://github.com/bugsnag/bugsnag-ruby/pull/671)
204
+
205
+ ## v6.21.0 (23 June 2021)
206
+
207
+ ### Enhancements
208
+
209
+ * Allow a `Method` or any object responding to `#call` to be used as an `on_error` callback or middleware
210
+ | [#662](https://github.com/bugsnag/bugsnag-ruby/pull/662)
211
+ | [odlp](https://github.com/odlp)
212
+
213
+ ### Fixes
214
+
215
+ * Deliver when an error is raised in the block argument to `notify`
216
+ | [#660](https://github.com/bugsnag/bugsnag-ruby/pull/660)
217
+ | [aki77](https://github.com/aki77)
218
+ * Fix potential `NoMethodError` in `Bugsnag::Railtie` when using `require: false` in a Gemfile
219
+ | [#666](https://github.com/bugsnag/bugsnag-ruby/pull/666)
220
+
221
+ ## v6.20.0 (29 March 2021)
222
+
223
+ ### Enhancements
224
+
225
+ * Classify `ActionDispatch::Http::MimeNegotiation::InvalidType` as info severity level
226
+ | [#654](https://github.com/bugsnag/bugsnag-ruby/pull/654)
227
+
228
+ ### Fixes
229
+
230
+ * Include `connection_id` in ActiveRecord breadcrumb metadata on new versons of Rails
231
+ | [#655](https://github.com/bugsnag/bugsnag-ruby/pull/655)
232
+ * Avoid crash when Mongo 1.12 or earlier is used
233
+ | [#652](https://github.com/bugsnag/bugsnag-ruby/pull/652)
234
+ | [isabanin](https://github.com/isabanin)
235
+
236
+ ## 6.19.0 (6 January 2021)
237
+
238
+ ### Enhancements
239
+
240
+ * Exception messages will be truncated if they have a length greater than 3,072
241
+ | [#636](https://github.com/bugsnag/bugsnag-ruby/pull/636)
242
+ | [joshuapinter](https://github.com/joshuapinter)
243
+
244
+ * Breadcrumb metadata can now contain any type
245
+ | [#648](https://github.com/bugsnag/bugsnag-ruby/pull/648)
246
+
247
+ ## 6.18.0 (27 October 2020)
248
+
249
+ ### Enhancements
250
+
251
+ * Bugsnag should now report uncaught exceptions inside Bundler's 'friendly errors'
252
+ | [#634](https://github.com/bugsnag/bugsnag-ruby/pull/634)
253
+
254
+ * Improve the display of breadrumbs in the Bugsnag app by including milliseconds in timestamps
255
+ | [#639](https://github.com/bugsnag/bugsnag-ruby/pull/639)
256
+
257
+ ## 6.17.0 (27 August 2020)
258
+
259
+ ### Enhancements
260
+
261
+ * Sidekiq now uses `thread_queue` delivery by default
262
+ | [#626](https://github.com/bugsnag/bugsnag-ruby/pull/626)
263
+
264
+ * Rescue now uses `thread_queue` delivery when `at_exit` hooks are enabled
265
+ | [#629](https://github.com/bugsnag/bugsnag-ruby/pull/629)
266
+
267
+ ## 6.16.0 (12 August 2020)
268
+
269
+ ### Enhancements
270
+
271
+ * Set default Delayed Job error context to job class
272
+ | [#499](https://github.com/bugsnag/bugsnag-ruby/pull/499)
273
+ | [Mike Stewart](https://github.com/mike-stewart)
274
+
275
+ * The `BUGSNAG_RELEASE_STAGE` environment variable can now be used to set the release stage. Previously this was only used in Rails applications
276
+ | [#613](https://github.com/bugsnag/bugsnag-ruby/pull/613)
277
+
278
+ * Add support for runtime versions to Delayed Job, Mailman and Shoryuken integrations
279
+ | [#620](https://github.com/bugsnag/bugsnag-ruby/pull/620)
280
+
281
+ * Reduce the size of the bundled gem
282
+ | [#571](https://github.com/bugsnag/bugsnag-ruby/pull/571)
283
+ | [t-richards](https://github.com/t-richards)
284
+
285
+ * Move serialization of Reports onto the background thread when using the thread_queue delivery method
286
+ | [#623](https://github.com/bugsnag/bugsnag-ruby/pull/623)
287
+
288
+ ## Fixes
289
+
290
+ * The `app_type` configuration option should no longer be overwritten by Bugsnag and integrations should set this more consistently
291
+ | [#619](https://github.com/bugsnag/bugsnag-ruby/pull/619)
292
+
4
293
  ## 6.15.0 (27 July 2020)
5
294
 
6
295
  ### Enhancements
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Bugsnag error monitoring & exception reporter for Ruby
2
- [![build status](https://travis-ci.com/bugsnag/bugsnag-ruby.svg?branch=master)](https://travis-ci.com/bugsnag/bugsnag-ruby)
2
+ [![build status](https://github.com/bugsnag/bugsnag-ruby/actions/workflows/test-package.yml/badge.svg)](https://github.com/bugsnag/bugsnag-ruby/actions/workflows/test-package.yml?query=branch%3Amaster)
3
3
 
4
4
 
5
5
  The Bugsnag exception reporter for Ruby gives you instant notification of exceptions thrown from your **[Rails](https://www.bugsnag.com/platforms/rails)**, **Sinatra**, **Rack** or **plain Ruby** app. Any uncaught exceptions will trigger a notification to be sent to your Bugsnag project.
@@ -22,7 +22,6 @@ The Bugsnag exception reporter for Ruby gives you instant notification of except
22
22
  * [Rake](https://docs.bugsnag.com/platforms/ruby/rake)
23
23
  * [Sidekiq](https://docs.bugsnag.com/platforms/ruby/sidekiq)
24
24
  * [Other Ruby apps](https://docs.bugsnag.com/platforms/ruby/other)
25
- * For [EventMachine](https://rubyeventmachine.com) integration, see [`bugsnag-em`](https://github.com/bugsnag/bugsnag-em)
26
25
  3. Relax!
27
26
 
28
27
  ## Support
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.15.0
1
+ 6.27.1
data/bugsnag.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.homepage = "https://github.com/bugsnag/bugsnag-ruby"
11
11
  s.licenses = ["MIT"]
12
12
 
13
- s.files = `git ls-files`.split("\n").reject {|file| file.start_with? "example/"}
13
+ s.files = `git ls-files -z lib bugsnag.gemspec VERSION .yardopts`.split("\x0")
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE.txt",
16
16
  "README.md",
@@ -18,5 +18,22 @@ Gem::Specification.new do |s|
18
18
  ]
19
19
  s.require_paths = ["lib"]
20
20
  s.required_ruby_version = '>= 1.9.2'
21
- s.add_runtime_dependency 'concurrent-ruby', '~> 1.0'
21
+
22
+ ruby_version = Gem::Version.new(RUBY_VERSION.dup)
23
+
24
+ if ruby_version < Gem::Version.new('2.2.0')
25
+ # concurrent-ruby 1.1.10 requires Ruby 2.2+
26
+ s.add_runtime_dependency 'concurrent-ruby', '~> 1.0', '< 1.1.10'
27
+ else
28
+ s.add_runtime_dependency 'concurrent-ruby', '~> 1.0'
29
+ end
30
+
31
+ if s.respond_to?(:metadata=)
32
+ s.metadata = {
33
+ "changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/v#{File.read("VERSION").strip}/CHANGELOG.md",
34
+ "documentation_uri" => "https://docs.bugsnag.com/platforms/ruby/",
35
+ "source_code_uri" => "https://github.com/bugsnag/bugsnag-ruby/",
36
+ "rubygems_mfa_required" => "true"
37
+ }
38
+ end
22
39
  end
@@ -0,0 +1,14 @@
1
+ require "bugsnag/breadcrumbs/breadcrumbs"
2
+
3
+ module Bugsnag
4
+ module BreadcrumbType
5
+ ERROR = Bugsnag::Breadcrumbs::ERROR_BREADCRUMB_TYPE
6
+ LOG = Bugsnag::Breadcrumbs::LOG_BREADCRUMB_TYPE
7
+ MANUAL = Bugsnag::Breadcrumbs::MANUAL_BREADCRUMB_TYPE
8
+ NAVIGATION = Bugsnag::Breadcrumbs::NAVIGATION_BREADCRUMB_TYPE
9
+ PROCESS = Bugsnag::Breadcrumbs::PROCESS_BREADCRUMB_TYPE
10
+ REQUEST = Bugsnag::Breadcrumbs::REQUEST_BREADCRUMB_TYPE
11
+ STATE = Bugsnag::Breadcrumbs::STATE_BREADCRUMB_TYPE
12
+ USER = Bugsnag::Breadcrumbs::USER_BREADCRUMB_TYPE
13
+ end
14
+ end
@@ -1,11 +1,13 @@
1
1
  module Bugsnag::Breadcrumbs
2
2
  class Breadcrumb
3
+ # @deprecated Use {#message} instead
3
4
  # @return [String] the breadcrumb name
4
5
  attr_accessor :name
5
6
 
6
7
  # @return [String] the breadcrumb type
7
8
  attr_accessor :type
8
9
 
10
+ # @deprecated Use {#metadata} instead
9
11
  # @return [Hash, nil] metadata hash containing strings, numbers, or booleans, or nil
10
12
  attr_accessor :meta_data
11
13
 
@@ -23,7 +25,7 @@ module Bugsnag::Breadcrumbs
23
25
  # @api private
24
26
  #
25
27
  # @param name [String] the breadcrumb name
26
- # @param type [String] the breadcrumb type from Bugsnag::Breadcrumbs::VALID_BREADCRUMB_TYPES
28
+ # @param type [String] the breadcrumb type from Bugsnag::BreadcrumbType
27
29
  # @param meta_data [Hash, nil] a hash containing strings, numbers, or booleans, or nil
28
30
  # @param auto [Symbol] set to `:auto` if the breadcrumb is automatically generated
29
31
  def initialize(name, type, meta_data, auto)
@@ -69,8 +71,39 @@ module Bugsnag::Breadcrumbs
69
71
  :name => @name,
70
72
  :type => @type,
71
73
  :metaData => @meta_data,
72
- :timestamp => @timestamp.iso8601
74
+ :timestamp => @timestamp.iso8601(3)
73
75
  }
74
76
  end
77
+
78
+ # TODO: "message" and "metadata" can be simple attr_accessors when they
79
+ # replace "name" and "meta_data"
80
+ # NOTE: these are not aliases as YARD doesn't allow documenting the non-alias
81
+ # as deprecated without also marking the alias as deprecated
82
+
83
+ # The breadcrumb message
84
+ # @!attribute message
85
+ # @return [String]
86
+ def message
87
+ @name
88
+ end
89
+
90
+ # @param message [String]
91
+ # @return [void]
92
+ def message=(message)
93
+ @name = message
94
+ end
95
+
96
+ # A Hash containing arbitrary metadata associated with this breadcrumb
97
+ # @!attribute metadata
98
+ # @return [Hash, nil]
99
+ def metadata
100
+ @meta_data
101
+ end
102
+
103
+ # @param metadata [Hash, nil]
104
+ # @return [void]
105
+ def metadata=(metadata)
106
+ @meta_data = metadata
107
+ end
75
108
  end
76
109
  end
@@ -1,4 +1,5 @@
1
1
  module Bugsnag::Breadcrumbs
2
+ # @deprecated Use {Bugsnag::BreadcrumbType} instead
2
3
  VALID_BREADCRUMB_TYPES = [
3
4
  ERROR_BREADCRUMB_TYPE = "error",
4
5
  MANUAL_BREADCRUMB_TYPE = "manual",
@@ -0,0 +1,48 @@
1
+ module Bugsnag::Breadcrumbs
2
+ class OnBreadcrumbCallbackList
3
+ def initialize(configuration)
4
+ @callbacks = Set.new
5
+ @mutex = Mutex.new
6
+ @configuration = configuration
7
+ end
8
+
9
+ ##
10
+ # @param callback [Proc, Method, #call]
11
+ # @return [void]
12
+ def add(callback)
13
+ @mutex.synchronize do
14
+ @callbacks.add(callback)
15
+ end
16
+ end
17
+
18
+ ##
19
+ # @param callback [Proc, Method, #call]
20
+ # @return [void]
21
+ def remove(callback)
22
+ @mutex.synchronize do
23
+ @callbacks.delete(callback)
24
+ end
25
+ end
26
+
27
+ ##
28
+ # @param breadcrumb [Breadcrumb]
29
+ # @return [void]
30
+ def call(breadcrumb)
31
+ @callbacks.each do |callback|
32
+ begin
33
+ should_continue = callback.call(breadcrumb)
34
+ rescue StandardError => e
35
+ @configuration.warn("Error occurred in on_breadcrumb callback: '#{e}'")
36
+ @configuration.warn("on_breadcrumb callback stacktrace: #{e.backtrace.inspect}")
37
+ end
38
+
39
+ # only stop if should_continue is explicity 'false' to allow callbacks
40
+ # to return 'nil'
41
+ if should_continue == false
42
+ breadcrumb.ignore!
43
+ break
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -1,5 +1,3 @@
1
- require 'bugsnag/breadcrumbs/breadcrumbs'
2
-
3
1
  module Bugsnag::Breadcrumbs
4
2
  ##
5
3
  # Validates a given breadcrumb before it is stored
@@ -15,16 +13,6 @@ module Bugsnag::Breadcrumbs
15
13
  #
16
14
  # @param breadcrumb [Bugsnag::Breadcrumbs::Breadcrumb] the breadcrumb to be validated
17
15
  def validate(breadcrumb)
18
- # Check meta_data hash doesn't contain complex values
19
- breadcrumb.meta_data = breadcrumb.meta_data.select do |k, v|
20
- if valid_meta_data_type?(v)
21
- true
22
- else
23
- @configuration.debug("Breadcrumb #{breadcrumb.name} meta_data #{k}:#{v.class} has been dropped for having an invalid data type")
24
- false
25
- end
26
- end
27
-
28
16
  # Check type is valid, set to manual otherwise
29
17
  unless Bugsnag::Breadcrumbs::VALID_BREADCRUMB_TYPES.include?(breadcrumb.type)
30
18
  @configuration.debug("Invalid type: #{breadcrumb.type} for breadcrumb: #{breadcrumb.name}, defaulting to #{Bugsnag::Breadcrumbs::MANUAL_BREADCRUMB_TYPE}")
@@ -37,17 +25,5 @@ module Bugsnag::Breadcrumbs
37
25
  @configuration.debug("Automatic breadcrumb of type #{breadcrumb.type} ignored: #{breadcrumb.name}")
38
26
  breadcrumb.ignore!
39
27
  end
40
-
41
- private
42
-
43
- ##
44
- # Tests whether the meta_data types are non-complex objects.
45
- #
46
- # Acceptable types are String, Symbol, Numeric, TrueClass, FalseClass, and nil.
47
- #
48
- # @param value [Object] the object to be type checked
49
- def valid_meta_data_type?(value)
50
- value.nil? || value.is_a?(String) || value.is_a?(Symbol) || value.is_a?(Numeric) || value.is_a?(FalseClass) || value.is_a?(TrueClass)
51
- end
52
28
  end
53
29
  end