bugsnag 6.15.0 → 6.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (655) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +11 -0
  3. data/CHANGELOG.md +72 -0
  4. data/VERSION +1 -1
  5. data/bugsnag.gemspec +1 -1
  6. data/lib/bugsnag.rb +81 -17
  7. data/lib/bugsnag/breadcrumbs/breadcrumb.rb +1 -1
  8. data/lib/bugsnag/breadcrumbs/validator.rb +0 -22
  9. data/lib/bugsnag/configuration.rb +182 -24
  10. data/lib/bugsnag/delivery/synchronous.rb +1 -1
  11. data/lib/bugsnag/delivery/thread_queue.rb +18 -3
  12. data/lib/bugsnag/helpers.rb +17 -4
  13. data/lib/bugsnag/integrations/delayed_job.rb +13 -1
  14. data/lib/bugsnag/integrations/mailman.rb +2 -1
  15. data/lib/bugsnag/integrations/mongo.rb +5 -3
  16. data/lib/bugsnag/integrations/que.rb +2 -1
  17. data/lib/bugsnag/integrations/rack.rb +3 -1
  18. data/lib/bugsnag/integrations/rails/rails_breadcrumbs.rb +2 -0
  19. data/lib/bugsnag/integrations/railtie.rb +31 -8
  20. data/lib/bugsnag/integrations/rake.rb +4 -2
  21. data/lib/bugsnag/integrations/resque.rb +12 -5
  22. data/lib/bugsnag/integrations/shoryuken.rb +2 -1
  23. data/lib/bugsnag/integrations/sidekiq.rb +1 -2
  24. data/lib/bugsnag/middleware/classify_error.rb +1 -0
  25. data/lib/bugsnag/middleware/delayed_job.rb +1 -0
  26. data/lib/bugsnag/report.rb +84 -2
  27. metadata +4 -631
  28. data/.buildkite/pipeline.yml +0 -470
  29. data/.github/PULL_REQUEST_TEMPLATE.md +0 -84
  30. data/.gitignore +0 -55
  31. data/.rdoc_options +0 -27
  32. data/.rspec +0 -3
  33. data/.rubocop.yml +0 -57
  34. data/.rubocop_todo.yml +0 -1049
  35. data/CONTRIBUTING.md +0 -64
  36. data/Gemfile +0 -50
  37. data/Rakefile +0 -37
  38. data/TESTING.md +0 -81
  39. data/UPGRADING.md +0 -91
  40. data/docker-compose.yml +0 -46
  41. data/dockerfiles/Dockerfile.jruby-unit-tests +0 -13
  42. data/dockerfiles/Dockerfile.ruby-maze-runner +0 -26
  43. data/dockerfiles/Dockerfile.ruby-unit-tests +0 -12
  44. data/features/.gitignore +0 -1
  45. data/features/delayed_job.feature +0 -36
  46. data/features/fixtures/delayed_job/Dockerfile +0 -15
  47. data/features/fixtures/delayed_job/app/.gitignore +0 -21
  48. data/features/fixtures/delayed_job/app/Gemfile +0 -57
  49. data/features/fixtures/delayed_job/app/README.md +0 -24
  50. data/features/fixtures/delayed_job/app/Rakefile +0 -24
  51. data/features/fixtures/delayed_job/app/app/assets/config/manifest.js +0 -3
  52. data/features/fixtures/delayed_job/app/app/assets/images/.keep +0 -0
  53. data/features/fixtures/delayed_job/app/app/assets/javascripts/application.js +0 -16
  54. data/features/fixtures/delayed_job/app/app/assets/javascripts/cable.js +0 -13
  55. data/features/fixtures/delayed_job/app/app/assets/javascripts/channels/.keep +0 -0
  56. data/features/fixtures/delayed_job/app/app/assets/stylesheets/application.css +0 -15
  57. data/features/fixtures/delayed_job/app/app/channels/application_cable/channel.rb +0 -4
  58. data/features/fixtures/delayed_job/app/app/channels/application_cable/connection.rb +0 -4
  59. data/features/fixtures/delayed_job/app/app/controllers/application_controller.rb +0 -3
  60. data/features/fixtures/delayed_job/app/app/controllers/concerns/.keep +0 -0
  61. data/features/fixtures/delayed_job/app/app/helpers/application_helper.rb +0 -2
  62. data/features/fixtures/delayed_job/app/app/jobs/application_job.rb +0 -2
  63. data/features/fixtures/delayed_job/app/app/mailers/application_mailer.rb +0 -4
  64. data/features/fixtures/delayed_job/app/app/models/application_record.rb +0 -3
  65. data/features/fixtures/delayed_job/app/app/models/concerns/.keep +0 -0
  66. data/features/fixtures/delayed_job/app/app/models/test_model.rb +0 -10
  67. data/features/fixtures/delayed_job/app/app/views/layouts/application.html.erb +0 -14
  68. data/features/fixtures/delayed_job/app/app/views/layouts/mailer.html.erb +0 -13
  69. data/features/fixtures/delayed_job/app/app/views/layouts/mailer.text.erb +0 -1
  70. data/features/fixtures/delayed_job/app/config.ru +0 -5
  71. data/features/fixtures/delayed_job/app/config/application.rb +0 -15
  72. data/features/fixtures/delayed_job/app/config/boot.rb +0 -3
  73. data/features/fixtures/delayed_job/app/config/cable.yml +0 -9
  74. data/features/fixtures/delayed_job/app/config/database.yml +0 -25
  75. data/features/fixtures/delayed_job/app/config/environment.rb +0 -5
  76. data/features/fixtures/delayed_job/app/config/environments/development.rb +0 -54
  77. data/features/fixtures/delayed_job/app/config/environments/production.rb +0 -86
  78. data/features/fixtures/delayed_job/app/config/environments/test.rb +0 -42
  79. data/features/fixtures/delayed_job/app/config/initializers/application_controller_renderer.rb +0 -8
  80. data/features/fixtures/delayed_job/app/config/initializers/assets.rb +0 -11
  81. data/features/fixtures/delayed_job/app/config/initializers/backtrace_silencers.rb +0 -7
  82. data/features/fixtures/delayed_job/app/config/initializers/bugsnag.rb +0 -14
  83. data/features/fixtures/delayed_job/app/config/initializers/cookies_serializer.rb +0 -5
  84. data/features/fixtures/delayed_job/app/config/initializers/delayed_job.rb +0 -3
  85. data/features/fixtures/delayed_job/app/config/initializers/filter_parameter_logging.rb +0 -4
  86. data/features/fixtures/delayed_job/app/config/initializers/inflections.rb +0 -16
  87. data/features/fixtures/delayed_job/app/config/initializers/mime_types.rb +0 -4
  88. data/features/fixtures/delayed_job/app/config/initializers/new_framework_defaults.rb +0 -26
  89. data/features/fixtures/delayed_job/app/config/initializers/session_store.rb +0 -3
  90. data/features/fixtures/delayed_job/app/config/initializers/wrap_parameters.rb +0 -14
  91. data/features/fixtures/delayed_job/app/config/locales/en.yml +0 -23
  92. data/features/fixtures/delayed_job/app/config/puma.rb +0 -47
  93. data/features/fixtures/delayed_job/app/config/routes.rb +0 -3
  94. data/features/fixtures/delayed_job/app/config/secrets.yml +0 -22
  95. data/features/fixtures/delayed_job/app/config/spring.rb +0 -6
  96. data/features/fixtures/delayed_job/app/db/migrate/20181024232549_create_delayed_jobs.rb +0 -22
  97. data/features/fixtures/delayed_job/app/db/migrate/20181024232817_create_test_models.rb +0 -8
  98. data/features/fixtures/delayed_job/app/db/schema.rb +0 -30
  99. data/features/fixtures/delayed_job/app/db/seeds.rb +0 -7
  100. data/features/fixtures/delayed_job/app/lib/assets/.keep +0 -0
  101. data/features/fixtures/delayed_job/app/lib/tasks/.keep +0 -0
  102. data/features/fixtures/delayed_job/app/log/.keep +0 -0
  103. data/features/fixtures/delayed_job/app/public/404.html +0 -67
  104. data/features/fixtures/delayed_job/app/public/422.html +0 -67
  105. data/features/fixtures/delayed_job/app/public/500.html +0 -66
  106. data/features/fixtures/delayed_job/app/public/apple-touch-icon-precomposed.png +0 -0
  107. data/features/fixtures/delayed_job/app/public/apple-touch-icon.png +0 -0
  108. data/features/fixtures/delayed_job/app/public/favicon.ico +0 -0
  109. data/features/fixtures/delayed_job/app/public/robots.txt +0 -5
  110. data/features/fixtures/delayed_job/app/test/controllers/.keep +0 -0
  111. data/features/fixtures/delayed_job/app/test/fixtures/.keep +0 -0
  112. data/features/fixtures/delayed_job/app/test/fixtures/files/.keep +0 -0
  113. data/features/fixtures/delayed_job/app/test/fixtures/test_models.yml +0 -11
  114. data/features/fixtures/delayed_job/app/test/helpers/.keep +0 -0
  115. data/features/fixtures/delayed_job/app/test/integration/.keep +0 -0
  116. data/features/fixtures/delayed_job/app/test/mailers/.keep +0 -0
  117. data/features/fixtures/delayed_job/app/test/models/.keep +0 -0
  118. data/features/fixtures/delayed_job/app/test/models/test_model_test.rb +0 -7
  119. data/features/fixtures/delayed_job/app/test/test_helper.rb +0 -10
  120. data/features/fixtures/delayed_job/app/tmp/.keep +0 -0
  121. data/features/fixtures/docker-compose.yml +0 -303
  122. data/features/fixtures/expected_breadcrumbs/active_job.json +0 -9
  123. data/features/fixtures/expected_breadcrumbs/mongo_failed.json +0 -15
  124. data/features/fixtures/expected_breadcrumbs/mongo_filtered_request.json +0 -15
  125. data/features/fixtures/expected_breadcrumbs/mongo_filtered_result.json +0 -15
  126. data/features/fixtures/expected_breadcrumbs/mongo_success.json +0 -14
  127. data/features/fixtures/expected_breadcrumbs/request.json +0 -13
  128. data/features/fixtures/expected_breadcrumbs/sql_with_bindings.json +0 -12
  129. data/features/fixtures/expected_breadcrumbs/sql_without_bindings.json +0 -11
  130. data/features/fixtures/plain/.dockerignore +0 -2
  131. data/features/fixtures/plain/Dockerfile +0 -11
  132. data/features/fixtures/plain/app/Gemfile +0 -3
  133. data/features/fixtures/plain/app/app.rb +0 -38
  134. data/features/fixtures/plain/app/configuration/api_key.rb +0 -9
  135. data/features/fixtures/plain/app/configuration/proxy.rb +0 -14
  136. data/features/fixtures/plain/app/configuration/send_handled.rb +0 -7
  137. data/features/fixtures/plain/app/configuration/send_unhandled.rb +0 -9
  138. data/features/fixtures/plain/app/delivery/fork_threadpool.rb +0 -27
  139. data/features/fixtures/plain/app/delivery/synchronous.rb +0 -14
  140. data/features/fixtures/plain/app/delivery/threadpool.rb +0 -14
  141. data/features/fixtures/plain/app/exception_data/crash.rb +0 -34
  142. data/features/fixtures/plain/app/exception_data/handled_context.rb +0 -10
  143. data/features/fixtures/plain/app/exception_data/handled_hash.rb +0 -10
  144. data/features/fixtures/plain/app/exception_data/handled_meta_data.rb +0 -10
  145. data/features/fixtures/plain/app/exception_data/handled_user_id.rb +0 -10
  146. data/features/fixtures/plain/app/exception_data/unhandled_context.rb +0 -7
  147. data/features/fixtures/plain/app/exception_data/unhandled_hash.rb +0 -7
  148. data/features/fixtures/plain/app/exception_data/unhandled_meta_data.rb +0 -7
  149. data/features/fixtures/plain/app/exception_data/unhandled_user_id.rb +0 -7
  150. data/features/fixtures/plain/app/filters/additional_filters.rb +0 -11
  151. data/features/fixtures/plain/app/filters/default_filters.rb +0 -15
  152. data/features/fixtures/plain/app/handled/block_metadata.rb +0 -15
  153. data/features/fixtures/plain/app/handled/ignore_exception.rb +0 -12
  154. data/features/fixtures/plain/app/handled/notify_exception.rb +0 -9
  155. data/features/fixtures/plain/app/handled/notify_string.rb +0 -9
  156. data/features/fixtures/plain/app/ignore_classes/handled.rb +0 -8
  157. data/features/fixtures/plain/app/ignore_classes/ignore_error.rb +0 -8
  158. data/features/fixtures/plain/app/ignore_classes/unhandled.rb +0 -4
  159. data/features/fixtures/plain/app/report_modification/add_tab.rb +0 -16
  160. data/features/fixtures/plain/app/report_modification/add_tab_existing.rb +0 -22
  161. data/features/fixtures/plain/app/report_modification/add_tab_override.rb +0 -19
  162. data/features/fixtures/plain/app/report_modification/ignore_report.rb +0 -9
  163. data/features/fixtures/plain/app/report_modification/initiators/handled_before_notify.rb +0 -10
  164. data/features/fixtures/plain/app/report_modification/initiators/handled_block.rb +0 -8
  165. data/features/fixtures/plain/app/report_modification/initiators/handled_on_error.rb +0 -10
  166. data/features/fixtures/plain/app/report_modification/initiators/unhandled_before_notify.rb +0 -11
  167. data/features/fixtures/plain/app/report_modification/initiators/unhandled_on_error.rb +0 -11
  168. data/features/fixtures/plain/app/report_modification/modify_api_key.rb +0 -9
  169. data/features/fixtures/plain/app/report_modification/modify_severity.rb +0 -9
  170. data/features/fixtures/plain/app/report_modification/remove_user_details.rb +0 -14
  171. data/features/fixtures/plain/app/report_modification/set_custom_user_details.rb +0 -16
  172. data/features/fixtures/plain/app/report_modification/set_user_details.rb +0 -13
  173. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_before_notify.rb +0 -29
  174. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_block.rb +0 -24
  175. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_on_error.rb +0 -29
  176. data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_before_notify.rb +0 -26
  177. data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_on_error.rb +0 -26
  178. data/features/fixtures/plain/app/stack_frame_modification/mark_frames_in_project.rb +0 -13
  179. data/features/fixtures/plain/app/stack_frame_modification/remove_stack_frame.rb +0 -9
  180. data/features/fixtures/plain/app/unhandled/bad_syntax.rb +0 -1
  181. data/features/fixtures/plain/app/unhandled/custom_error.rb +0 -9
  182. data/features/fixtures/plain/app/unhandled/interrupt.rb +0 -6
  183. data/features/fixtures/plain/app/unhandled/load_error.rb +0 -6
  184. data/features/fixtures/plain/app/unhandled/local_jump_error.rb +0 -10
  185. data/features/fixtures/plain/app/unhandled/name_error.rb +0 -6
  186. data/features/fixtures/plain/app/unhandled/no_method_error.rb +0 -6
  187. data/features/fixtures/plain/app/unhandled/runtime_error.rb +0 -6
  188. data/features/fixtures/plain/app/unhandled/syntax_error.rb +0 -6
  189. data/features/fixtures/plain/app/unhandled/system_call_error.rb +0 -6
  190. data/features/fixtures/plain/app/unhandled/system_exit.rb +0 -6
  191. data/features/fixtures/plain/json/delivery_fork.json +0 -4
  192. data/features/fixtures/plain/json/delivery_synchronous.json +0 -4
  193. data/features/fixtures/plain/json/delivery_threadpool.json +0 -4
  194. data/features/fixtures/plain/json/filters_default_metadata_filters.json +0 -9
  195. data/features/fixtures/rack1/.dockerignore +0 -1
  196. data/features/fixtures/rack1/Dockerfile +0 -13
  197. data/features/fixtures/rack1/Gemfile +0 -4
  198. data/features/fixtures/rack1/app.rb +0 -8
  199. data/features/fixtures/rack2/.dockerignore +0 -1
  200. data/features/fixtures/rack2/Dockerfile +0 -13
  201. data/features/fixtures/rack2/Gemfile +0 -4
  202. data/features/fixtures/rack2/app.rb +0 -8
  203. data/features/fixtures/rails3/.dockerignore +0 -1
  204. data/features/fixtures/rails3/Dockerfile +0 -15
  205. data/features/fixtures/rails3/app/.gitignore +0 -15
  206. data/features/fixtures/rails3/app/Gemfile +0 -17
  207. data/features/fixtures/rails3/app/Rakefile +0 -7
  208. data/features/fixtures/rails3/app/app/assets/images/rails.png +0 -0
  209. data/features/fixtures/rails3/app/app/assets/javascripts/application.js +0 -15
  210. data/features/fixtures/rails3/app/app/assets/stylesheets/application.css +0 -13
  211. data/features/fixtures/rails3/app/app/controllers/api_key_controller.rb +0 -20
  212. data/features/fixtures/rails3/app/app/controllers/app_type_controller.rb +0 -20
  213. data/features/fixtures/rails3/app/app/controllers/app_version_controller.rb +0 -25
  214. data/features/fixtures/rails3/app/app/controllers/application_controller.rb +0 -7
  215. data/features/fixtures/rails3/app/app/controllers/auto_notify_controller.rb +0 -31
  216. data/features/fixtures/rails3/app/app/controllers/before_notify_controller.rb +0 -44
  217. data/features/fixtures/rails3/app/app/controllers/breadcrumbs_controller.rb +0 -19
  218. data/features/fixtures/rails3/app/app/controllers/handled_controller.rb +0 -26
  219. data/features/fixtures/rails3/app/app/controllers/ignore_classes_controller.rb +0 -23
  220. data/features/fixtures/rails3/app/app/controllers/metadata_filters_controller.rb +0 -16
  221. data/features/fixtures/rails3/app/app/controllers/project_root_controller.rb +0 -25
  222. data/features/fixtures/rails3/app/app/controllers/release_stage_controller.rb +0 -20
  223. data/features/fixtures/rails3/app/app/controllers/send_code_controller.rb +0 -20
  224. data/features/fixtures/rails3/app/app/controllers/send_environment_controller.rb +0 -12
  225. data/features/fixtures/rails3/app/app/controllers/session_tracking_controller.rb +0 -24
  226. data/features/fixtures/rails3/app/app/controllers/unhandled_controller.rb +0 -11
  227. data/features/fixtures/rails3/app/app/controllers/warden_controller.rb +0 -30
  228. data/features/fixtures/rails3/app/app/helpers/application_helper.rb +0 -2
  229. data/features/fixtures/rails3/app/app/mailers/.gitkeep +0 -0
  230. data/features/fixtures/rails3/app/app/models/.gitkeep +0 -0
  231. data/features/fixtures/rails3/app/app/models/user.rb +0 -6
  232. data/features/fixtures/rails3/app/app/views/layouts/application.html.erb +0 -14
  233. data/features/fixtures/rails3/app/config.ru +0 -4
  234. data/features/fixtures/rails3/app/config/application.rb +0 -67
  235. data/features/fixtures/rails3/app/config/boot.rb +0 -6
  236. data/features/fixtures/rails3/app/config/database.yml +0 -31
  237. data/features/fixtures/rails3/app/config/environment.rb +0 -5
  238. data/features/fixtures/rails3/app/config/environments/development.rb +0 -37
  239. data/features/fixtures/rails3/app/config/environments/production.rb +0 -67
  240. data/features/fixtures/rails3/app/config/environments/rails_env.rb +0 -37
  241. data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +0 -29
  242. data/features/fixtures/rails3/app/config/initializers/secret_token.rb +0 -7
  243. data/features/fixtures/rails3/app/config/initializers/session_store.rb +0 -8
  244. data/features/fixtures/rails3/app/config/initializers/warden.rb +0 -3
  245. data/features/fixtures/rails3/app/config/initializers/wrap_parameters.rb +0 -14
  246. data/features/fixtures/rails3/app/config/locales/en.yml +0 -5
  247. data/features/fixtures/rails3/app/config/routes.rb +0 -19
  248. data/features/fixtures/rails3/app/db/migrate/20180423142727_create_users.rb +0 -45
  249. data/features/fixtures/rails3/app/db/schema.rb +0 -37
  250. data/features/fixtures/rails3/app/db/seeds.rb +0 -7
  251. data/features/fixtures/rails3/app/lib/assets/.gitkeep +0 -0
  252. data/features/fixtures/rails3/app/lib/strategies/token_strategy.rb +0 -12
  253. data/features/fixtures/rails3/app/lib/tasks/.gitkeep +0 -0
  254. data/features/fixtures/rails3/app/log/.gitkeep +0 -0
  255. data/features/fixtures/rails3/app/public/404.html +0 -26
  256. data/features/fixtures/rails3/app/public/422.html +0 -26
  257. data/features/fixtures/rails3/app/public/500.html +0 -25
  258. data/features/fixtures/rails3/app/public/favicon.ico +0 -0
  259. data/features/fixtures/rails3/app/public/index.html +0 -241
  260. data/features/fixtures/rails3/app/public/robots.txt +0 -5
  261. data/features/fixtures/rails3/app/script/rails +0 -6
  262. data/features/fixtures/rails4/.dockerignore +0 -1
  263. data/features/fixtures/rails4/Dockerfile +0 -17
  264. data/features/fixtures/rails4/app/.gitignore +0 -16
  265. data/features/fixtures/rails4/app/Gemfile +0 -46
  266. data/features/fixtures/rails4/app/README.rdoc +0 -28
  267. data/features/fixtures/rails4/app/Rakefile +0 -6
  268. data/features/fixtures/rails4/app/app/assets/images/.keep +0 -0
  269. data/features/fixtures/rails4/app/app/assets/javascripts/application.js +0 -16
  270. data/features/fixtures/rails4/app/app/assets/stylesheets/application.css +0 -13
  271. data/features/fixtures/rails4/app/app/controllers/api_key_controller.rb +0 -20
  272. data/features/fixtures/rails4/app/app/controllers/app_type_controller.rb +0 -20
  273. data/features/fixtures/rails4/app/app/controllers/app_version_controller.rb +0 -25
  274. data/features/fixtures/rails4/app/app/controllers/application_controller.rb +0 -7
  275. data/features/fixtures/rails4/app/app/controllers/auto_notify_controller.rb +0 -31
  276. data/features/fixtures/rails4/app/app/controllers/before_notify_controller.rb +0 -44
  277. data/features/fixtures/rails4/app/app/controllers/breadcrumbs_controller.rb +0 -26
  278. data/features/fixtures/rails4/app/app/controllers/concerns/.keep +0 -0
  279. data/features/fixtures/rails4/app/app/controllers/devise_controller.rb +0 -32
  280. data/features/fixtures/rails4/app/app/controllers/handled_controller.rb +0 -26
  281. data/features/fixtures/rails4/app/app/controllers/ignore_classes_controller.rb +0 -23
  282. data/features/fixtures/rails4/app/app/controllers/metadata_filters_controller.rb +0 -16
  283. data/features/fixtures/rails4/app/app/controllers/mongo_controller.rb +0 -23
  284. data/features/fixtures/rails4/app/app/controllers/project_root_controller.rb +0 -25
  285. data/features/fixtures/rails4/app/app/controllers/release_stage_controller.rb +0 -20
  286. data/features/fixtures/rails4/app/app/controllers/send_code_controller.rb +0 -20
  287. data/features/fixtures/rails4/app/app/controllers/send_environment_controller.rb +0 -12
  288. data/features/fixtures/rails4/app/app/controllers/session_tracking_controller.rb +0 -24
  289. data/features/fixtures/rails4/app/app/controllers/unhandled_controller.rb +0 -11
  290. data/features/fixtures/rails4/app/app/helpers/application_helper.rb +0 -2
  291. data/features/fixtures/rails4/app/app/jobs/application_job.rb +0 -2
  292. data/features/fixtures/rails4/app/app/jobs/notify_job.rb +0 -5
  293. data/features/fixtures/rails4/app/app/mailers/.keep +0 -0
  294. data/features/fixtures/rails4/app/app/models/.keep +0 -0
  295. data/features/fixtures/rails4/app/app/models/concerns/.keep +0 -0
  296. data/features/fixtures/rails4/app/app/models/mongo_model.rb +0 -6
  297. data/features/fixtures/rails4/app/app/models/user.rb +0 -6
  298. data/features/fixtures/rails4/app/app/views/layouts/application.html.erb +0 -14
  299. data/features/fixtures/rails4/app/config.ru +0 -4
  300. data/features/fixtures/rails4/app/config/application.rb +0 -23
  301. data/features/fixtures/rails4/app/config/boot.rb +0 -4
  302. data/features/fixtures/rails4/app/config/database.yml +0 -31
  303. data/features/fixtures/rails4/app/config/environment.rb +0 -5
  304. data/features/fixtures/rails4/app/config/environments/development.rb +0 -31
  305. data/features/fixtures/rails4/app/config/environments/production.rb +0 -81
  306. data/features/fixtures/rails4/app/config/environments/rails_env.rb +0 -30
  307. data/features/fixtures/rails4/app/config/environments/test.rb +0 -31
  308. data/features/fixtures/rails4/app/config/initializers/backtrace_silencers.rb +0 -7
  309. data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +0 -29
  310. data/features/fixtures/rails4/app/config/initializers/devise.rb +0 -283
  311. data/features/fixtures/rails4/app/config/initializers/filter_parameter_logging.rb +0 -5
  312. data/features/fixtures/rails4/app/config/initializers/inflections.rb +0 -16
  313. data/features/fixtures/rails4/app/config/initializers/mime_types.rb +0 -5
  314. data/features/fixtures/rails4/app/config/initializers/secret_token.rb +0 -12
  315. data/features/fixtures/rails4/app/config/initializers/session_store.rb +0 -3
  316. data/features/fixtures/rails4/app/config/initializers/wrap_parameters.rb +0 -14
  317. data/features/fixtures/rails4/app/config/locales/devise.en.yml +0 -64
  318. data/features/fixtures/rails4/app/config/locales/en.yml +0 -23
  319. data/features/fixtures/rails4/app/config/mongoid.yml +0 -22
  320. data/features/fixtures/rails4/app/config/routes.rb +0 -21
  321. data/features/fixtures/rails4/app/db/migrate/20180420160315_devise_create_users.rb +0 -47
  322. data/features/fixtures/rails4/app/db/seeds.rb +0 -7
  323. data/features/fixtures/rails4/app/lib/assets/.keep +0 -0
  324. data/features/fixtures/rails4/app/lib/tasks/.keep +0 -0
  325. data/features/fixtures/rails4/app/log/.keep +0 -0
  326. data/features/fixtures/rails4/app/public/404.html +0 -58
  327. data/features/fixtures/rails4/app/public/422.html +0 -58
  328. data/features/fixtures/rails4/app/public/500.html +0 -57
  329. data/features/fixtures/rails4/app/public/favicon.ico +0 -0
  330. data/features/fixtures/rails4/app/public/robots.txt +0 -5
  331. data/features/fixtures/rails4/app/test/controllers/.keep +0 -0
  332. data/features/fixtures/rails4/app/test/fixtures/.keep +0 -0
  333. data/features/fixtures/rails4/app/test/helpers/.keep +0 -0
  334. data/features/fixtures/rails4/app/test/integration/.keep +0 -0
  335. data/features/fixtures/rails4/app/test/mailers/.keep +0 -0
  336. data/features/fixtures/rails4/app/test/models/.keep +0 -0
  337. data/features/fixtures/rails4/app/test/test_helper.rb +0 -15
  338. data/features/fixtures/rails5/.dockerignore +0 -1
  339. data/features/fixtures/rails5/Dockerfile +0 -17
  340. data/features/fixtures/rails5/app/.gitignore +0 -21
  341. data/features/fixtures/rails5/app/Gemfile +0 -52
  342. data/features/fixtures/rails5/app/README.md +0 -24
  343. data/features/fixtures/rails5/app/Rakefile +0 -6
  344. data/features/fixtures/rails5/app/app/assets/config/manifest.js +0 -3
  345. data/features/fixtures/rails5/app/app/assets/images/.keep +0 -0
  346. data/features/fixtures/rails5/app/app/assets/javascripts/application.js +0 -16
  347. data/features/fixtures/rails5/app/app/assets/javascripts/cable.js +0 -13
  348. data/features/fixtures/rails5/app/app/assets/javascripts/channels/.keep +0 -0
  349. data/features/fixtures/rails5/app/app/assets/stylesheets/application.css +0 -15
  350. data/features/fixtures/rails5/app/app/channels/application_cable/channel.rb +0 -4
  351. data/features/fixtures/rails5/app/app/channels/application_cable/connection.rb +0 -4
  352. data/features/fixtures/rails5/app/app/controllers/api_key_controller.rb +0 -16
  353. data/features/fixtures/rails5/app/app/controllers/app_type_controller.rb +0 -16
  354. data/features/fixtures/rails5/app/app/controllers/app_version_controller.rb +0 -21
  355. data/features/fixtures/rails5/app/app/controllers/application_controller.rb +0 -7
  356. data/features/fixtures/rails5/app/app/controllers/auto_notify_controller.rb +0 -27
  357. data/features/fixtures/rails5/app/app/controllers/before_notify_controller.rb +0 -40
  358. data/features/fixtures/rails5/app/app/controllers/breadcrumbs_controller.rb +0 -24
  359. data/features/fixtures/rails5/app/app/controllers/clearance_controller.rb +0 -33
  360. data/features/fixtures/rails5/app/app/controllers/concerns/.keep +0 -0
  361. data/features/fixtures/rails5/app/app/controllers/handled_controller.rb +0 -22
  362. data/features/fixtures/rails5/app/app/controllers/ignore_classes_controller.rb +0 -19
  363. data/features/fixtures/rails5/app/app/controllers/metadata_filters_controller.rb +0 -12
  364. data/features/fixtures/rails5/app/app/controllers/mongo_controller.rb +0 -22
  365. data/features/fixtures/rails5/app/app/controllers/project_root_controller.rb +0 -21
  366. data/features/fixtures/rails5/app/app/controllers/release_stage_controller.rb +0 -16
  367. data/features/fixtures/rails5/app/app/controllers/send_code_controller.rb +0 -16
  368. data/features/fixtures/rails5/app/app/controllers/send_environment_controller.rb +0 -8
  369. data/features/fixtures/rails5/app/app/controllers/session_tracking_controller.rb +0 -20
  370. data/features/fixtures/rails5/app/app/controllers/unhandled_controller.rb +0 -7
  371. data/features/fixtures/rails5/app/app/helpers/application_helper.rb +0 -2
  372. data/features/fixtures/rails5/app/app/jobs/application_job.rb +0 -2
  373. data/features/fixtures/rails5/app/app/jobs/notify_job.rb +0 -5
  374. data/features/fixtures/rails5/app/app/mailers/application_mailer.rb +0 -4
  375. data/features/fixtures/rails5/app/app/models/application_record.rb +0 -3
  376. data/features/fixtures/rails5/app/app/models/concerns/.keep +0 -0
  377. data/features/fixtures/rails5/app/app/models/mongo_model.rb +0 -6
  378. data/features/fixtures/rails5/app/app/models/user.rb +0 -3
  379. data/features/fixtures/rails5/app/app/views/layouts/application.html.erb +0 -14
  380. data/features/fixtures/rails5/app/app/views/layouts/mailer.html.erb +0 -13
  381. data/features/fixtures/rails5/app/app/views/layouts/mailer.text.erb +0 -1
  382. data/features/fixtures/rails5/app/config.ru +0 -5
  383. data/features/fixtures/rails5/app/config/application.rb +0 -15
  384. data/features/fixtures/rails5/app/config/boot.rb +0 -3
  385. data/features/fixtures/rails5/app/config/cable.yml +0 -9
  386. data/features/fixtures/rails5/app/config/database.yml +0 -29
  387. data/features/fixtures/rails5/app/config/environment.rb +0 -5
  388. data/features/fixtures/rails5/app/config/environments/development.rb +0 -55
  389. data/features/fixtures/rails5/app/config/environments/production.rb +0 -87
  390. data/features/fixtures/rails5/app/config/environments/rails_env.rb +0 -55
  391. data/features/fixtures/rails5/app/config/environments/test.rb +0 -55
  392. data/features/fixtures/rails5/app/config/initializers/assets.rb +0 -11
  393. data/features/fixtures/rails5/app/config/initializers/backtrace_silencers.rb +0 -7
  394. data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +0 -29
  395. data/features/fixtures/rails5/app/config/initializers/clearance.rb +0 -5
  396. data/features/fixtures/rails5/app/config/initializers/cookies_serializer.rb +0 -5
  397. data/features/fixtures/rails5/app/config/initializers/filter_parameter_logging.rb +0 -5
  398. data/features/fixtures/rails5/app/config/initializers/inflections.rb +0 -16
  399. data/features/fixtures/rails5/app/config/initializers/mime_types.rb +0 -4
  400. data/features/fixtures/rails5/app/config/initializers/new_framework_defaults.rb +0 -24
  401. data/features/fixtures/rails5/app/config/initializers/session_store.rb +0 -3
  402. data/features/fixtures/rails5/app/config/initializers/wrap_parameters.rb +0 -14
  403. data/features/fixtures/rails5/app/config/locales/devise.en.yml +0 -64
  404. data/features/fixtures/rails5/app/config/locales/en.yml +0 -23
  405. data/features/fixtures/rails5/app/config/mongoid.yml +0 -23
  406. data/features/fixtures/rails5/app/config/puma.rb +0 -47
  407. data/features/fixtures/rails5/app/config/routes.rb +0 -62
  408. data/features/fixtures/rails5/app/config/secrets.yml +0 -25
  409. data/features/fixtures/rails5/app/config/spring.rb +0 -6
  410. data/features/fixtures/rails5/app/db/migrate/20180426095545_create_users.rb +0 -17
  411. data/features/fixtures/rails5/app/db/schema.rb +0 -29
  412. data/features/fixtures/rails5/app/db/seeds.rb +0 -7
  413. data/features/fixtures/rails5/app/lib/assets/.keep +0 -0
  414. data/features/fixtures/rails5/app/lib/tasks/.keep +0 -0
  415. data/features/fixtures/rails5/app/log/.keep +0 -0
  416. data/features/fixtures/rails5/app/public/404.html +0 -67
  417. data/features/fixtures/rails5/app/public/422.html +0 -67
  418. data/features/fixtures/rails5/app/public/500.html +0 -66
  419. data/features/fixtures/rails5/app/public/apple-touch-icon-precomposed.png +0 -0
  420. data/features/fixtures/rails5/app/public/apple-touch-icon.png +0 -0
  421. data/features/fixtures/rails5/app/public/favicon.ico +0 -0
  422. data/features/fixtures/rails5/app/public/robots.txt +0 -5
  423. data/features/fixtures/rails5/app/test/controllers/.keep +0 -0
  424. data/features/fixtures/rails5/app/test/fixtures/.keep +0 -0
  425. data/features/fixtures/rails5/app/test/fixtures/files/.keep +0 -0
  426. data/features/fixtures/rails5/app/test/helpers/.keep +0 -0
  427. data/features/fixtures/rails5/app/test/integration/.keep +0 -0
  428. data/features/fixtures/rails5/app/test/mailers/.keep +0 -0
  429. data/features/fixtures/rails5/app/test/models/.keep +0 -0
  430. data/features/fixtures/rails5/app/test/test_helper.rb +0 -10
  431. data/features/fixtures/rails5/app/tmp/.keep +0 -0
  432. data/features/fixtures/rails6/.dockerignore +0 -1
  433. data/features/fixtures/rails6/Dockerfile +0 -26
  434. data/features/fixtures/rails6/app/.browserslistrc +0 -1
  435. data/features/fixtures/rails6/app/.gitignore +0 -35
  436. data/features/fixtures/rails6/app/.ruby-version +0 -1
  437. data/features/fixtures/rails6/app/Gemfile +0 -58
  438. data/features/fixtures/rails6/app/README.md +0 -24
  439. data/features/fixtures/rails6/app/Rakefile +0 -6
  440. data/features/fixtures/rails6/app/app/assets/config/manifest.js +0 -2
  441. data/features/fixtures/rails6/app/app/assets/images/.keep +0 -0
  442. data/features/fixtures/rails6/app/app/assets/stylesheets/application.css +0 -15
  443. data/features/fixtures/rails6/app/app/channels/application_cable/channel.rb +0 -4
  444. data/features/fixtures/rails6/app/app/channels/application_cable/connection.rb +0 -4
  445. data/features/fixtures/rails6/app/app/controllers/api_key_controller.rb +0 -16
  446. data/features/fixtures/rails6/app/app/controllers/app_type_controller.rb +0 -16
  447. data/features/fixtures/rails6/app/app/controllers/app_version_controller.rb +0 -21
  448. data/features/fixtures/rails6/app/app/controllers/application_controller.rb +0 -7
  449. data/features/fixtures/rails6/app/app/controllers/auto_notify_controller.rb +0 -27
  450. data/features/fixtures/rails6/app/app/controllers/before_notify_controller.rb +0 -40
  451. data/features/fixtures/rails6/app/app/controllers/breadcrumbs_controller.rb +0 -24
  452. data/features/fixtures/rails6/app/app/controllers/clearance_controller.rb +0 -33
  453. data/features/fixtures/rails6/app/app/controllers/concerns/.keep +0 -0
  454. data/features/fixtures/rails6/app/app/controllers/handled_controller.rb +0 -22
  455. data/features/fixtures/rails6/app/app/controllers/ignore_classes_controller.rb +0 -19
  456. data/features/fixtures/rails6/app/app/controllers/metadata_filters_controller.rb +0 -12
  457. data/features/fixtures/rails6/app/app/controllers/mongo_controller.rb +0 -22
  458. data/features/fixtures/rails6/app/app/controllers/project_root_controller.rb +0 -21
  459. data/features/fixtures/rails6/app/app/controllers/release_stage_controller.rb +0 -16
  460. data/features/fixtures/rails6/app/app/controllers/send_code_controller.rb +0 -16
  461. data/features/fixtures/rails6/app/app/controllers/send_environment_controller.rb +0 -8
  462. data/features/fixtures/rails6/app/app/controllers/session_tracking_controller.rb +0 -20
  463. data/features/fixtures/rails6/app/app/controllers/unhandled_controller.rb +0 -7
  464. data/features/fixtures/rails6/app/app/helpers/application_helper.rb +0 -2
  465. data/features/fixtures/rails6/app/app/javascript/channels/consumer.js +0 -6
  466. data/features/fixtures/rails6/app/app/javascript/channels/index.js +0 -5
  467. data/features/fixtures/rails6/app/app/javascript/packs/application.js +0 -9
  468. data/features/fixtures/rails6/app/app/jobs/application_job.rb +0 -7
  469. data/features/fixtures/rails6/app/app/jobs/notify_job.rb +0 -5
  470. data/features/fixtures/rails6/app/app/mailers/application_mailer.rb +0 -4
  471. data/features/fixtures/rails6/app/app/models/application_record.rb +0 -3
  472. data/features/fixtures/rails6/app/app/models/concerns/.keep +0 -0
  473. data/features/fixtures/rails6/app/app/models/mongo_model.rb +0 -6
  474. data/features/fixtures/rails6/app/app/models/user.rb +0 -3
  475. data/features/fixtures/rails6/app/app/views/layouts/application.html.erb +0 -15
  476. data/features/fixtures/rails6/app/app/views/layouts/mailer.html.erb +0 -13
  477. data/features/fixtures/rails6/app/app/views/layouts/mailer.text.erb +0 -1
  478. data/features/fixtures/rails6/app/babel.config.js +0 -70
  479. data/features/fixtures/rails6/app/config.ru +0 -5
  480. data/features/fixtures/rails6/app/config/application.rb +0 -19
  481. data/features/fixtures/rails6/app/config/boot.rb +0 -4
  482. data/features/fixtures/rails6/app/config/cable.yml +0 -13
  483. data/features/fixtures/rails6/app/config/credentials.yml.enc +0 -1
  484. data/features/fixtures/rails6/app/config/database.yml +0 -29
  485. data/features/fixtures/rails6/app/config/environment.rb +0 -5
  486. data/features/fixtures/rails6/app/config/environments/development.rb +0 -64
  487. data/features/fixtures/rails6/app/config/environments/production.rb +0 -113
  488. data/features/fixtures/rails6/app/config/environments/rails_env.rb +0 -56
  489. data/features/fixtures/rails6/app/config/environments/test.rb +0 -48
  490. data/features/fixtures/rails6/app/config/initializers/application_controller_renderer.rb +0 -8
  491. data/features/fixtures/rails6/app/config/initializers/assets.rb +0 -14
  492. data/features/fixtures/rails6/app/config/initializers/backtrace_silencers.rb +0 -7
  493. data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +0 -29
  494. data/features/fixtures/rails6/app/config/initializers/content_security_policy.rb +0 -27
  495. data/features/fixtures/rails6/app/config/initializers/cookies_serializer.rb +0 -5
  496. data/features/fixtures/rails6/app/config/initializers/filter_parameter_logging.rb +0 -5
  497. data/features/fixtures/rails6/app/config/initializers/inflections.rb +0 -16
  498. data/features/fixtures/rails6/app/config/initializers/mime_types.rb +0 -4
  499. data/features/fixtures/rails6/app/config/initializers/wrap_parameters.rb +0 -14
  500. data/features/fixtures/rails6/app/config/locales/en.yml +0 -33
  501. data/features/fixtures/rails6/app/config/mongoid.yml +0 -23
  502. data/features/fixtures/rails6/app/config/puma.rb +0 -35
  503. data/features/fixtures/rails6/app/config/routes.rb +0 -62
  504. data/features/fixtures/rails6/app/config/secrets.yml +0 -25
  505. data/features/fixtures/rails6/app/config/spring.rb +0 -6
  506. data/features/fixtures/rails6/app/config/storage.yml +0 -34
  507. data/features/fixtures/rails6/app/config/webpack/development.js +0 -5
  508. data/features/fixtures/rails6/app/config/webpack/environment.js +0 -3
  509. data/features/fixtures/rails6/app/config/webpack/production.js +0 -5
  510. data/features/fixtures/rails6/app/config/webpack/rails_env.js +0 -5
  511. data/features/fixtures/rails6/app/config/webpack/test.js +0 -5
  512. data/features/fixtures/rails6/app/config/webpacker.yml +0 -121
  513. data/features/fixtures/rails6/app/db/migrate/20180426095545_create_users.rb +0 -17
  514. data/features/fixtures/rails6/app/db/schema.rb +0 -29
  515. data/features/fixtures/rails6/app/db/seeds.rb +0 -7
  516. data/features/fixtures/rails6/app/lib/assets/.keep +0 -0
  517. data/features/fixtures/rails6/app/lib/tasks/.keep +0 -0
  518. data/features/fixtures/rails6/app/log/.keep +0 -0
  519. data/features/fixtures/rails6/app/package.json +0 -15
  520. data/features/fixtures/rails6/app/postcss.config.js +0 -12
  521. data/features/fixtures/rails6/app/public/404.html +0 -67
  522. data/features/fixtures/rails6/app/public/422.html +0 -67
  523. data/features/fixtures/rails6/app/public/500.html +0 -66
  524. data/features/fixtures/rails6/app/public/apple-touch-icon-precomposed.png +0 -0
  525. data/features/fixtures/rails6/app/public/apple-touch-icon.png +0 -0
  526. data/features/fixtures/rails6/app/public/favicon.ico +0 -0
  527. data/features/fixtures/rails6/app/public/robots.txt +0 -1
  528. data/features/fixtures/rails6/app/storage/.keep +0 -0
  529. data/features/fixtures/rails6/app/test/application_system_test_case.rb +0 -5
  530. data/features/fixtures/rails6/app/test/channels/application_cable/connection_test.rb +0 -11
  531. data/features/fixtures/rails6/app/test/controllers/.keep +0 -0
  532. data/features/fixtures/rails6/app/test/fixtures/.keep +0 -0
  533. data/features/fixtures/rails6/app/test/fixtures/files/.keep +0 -0
  534. data/features/fixtures/rails6/app/test/helpers/.keep +0 -0
  535. data/features/fixtures/rails6/app/test/integration/.keep +0 -0
  536. data/features/fixtures/rails6/app/test/mailers/.keep +0 -0
  537. data/features/fixtures/rails6/app/test/models/.keep +0 -0
  538. data/features/fixtures/rails6/app/test/system/.keep +0 -0
  539. data/features/fixtures/rails6/app/test/test_helper.rb +0 -13
  540. data/features/fixtures/rails6/app/tmp/.keep +0 -0
  541. data/features/fixtures/rails6/app/yarn.lock +0 -6082
  542. data/features/fixtures/resque/.dockerignore +0 -1
  543. data/features/fixtures/resque/Dockerfile +0 -14
  544. data/features/fixtures/resque/Gemfile +0 -6
  545. data/features/fixtures/resque/Rakefile +0 -4
  546. data/features/fixtures/resque/app.rb +0 -12
  547. data/features/fixtures/sidekiq/.dockerignore +0 -2
  548. data/features/fixtures/sidekiq/Dockerfile +0 -17
  549. data/features/fixtures/sidekiq/app/Gemfile +0 -7
  550. data/features/fixtures/sidekiq/app/Rakefile.rb +0 -14
  551. data/features/fixtures/sidekiq/app/app.rb +0 -35
  552. data/features/fixtures/sidekiq/app/initializers/HandledError.rb +0 -3
  553. data/features/fixtures/sidekiq/app/initializers/UnhandledError.rb +0 -3
  554. data/features/fixtures/sidekiq/payloads/handled_metadata_ca_false.json +0 -11
  555. data/features/fixtures/sidekiq/payloads/handled_metadata_ca_true.json +0 -12
  556. data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_false.json +0 -11
  557. data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_true.json +0 -12
  558. data/features/fixtures/sinatra1/.dockerignore +0 -1
  559. data/features/fixtures/sinatra1/Dockerfile +0 -13
  560. data/features/fixtures/sinatra1/Gemfile +0 -4
  561. data/features/fixtures/sinatra1/app.rb +0 -9
  562. data/features/fixtures/sinatra2/.dockerignore +0 -1
  563. data/features/fixtures/sinatra2/Dockerfile +0 -13
  564. data/features/fixtures/sinatra2/Gemfile +0 -4
  565. data/features/fixtures/sinatra2/app.rb +0 -9
  566. data/features/plain_features/add_tab.feature +0 -55
  567. data/features/plain_features/app_type.feature +0 -8
  568. data/features/plain_features/app_version.feature +0 -8
  569. data/features/plain_features/auto_notify.feature +0 -7
  570. data/features/plain_features/delivery.feature +0 -20
  571. data/features/plain_features/exception_data.feature +0 -50
  572. data/features/plain_features/filters.feature +0 -14
  573. data/features/plain_features/handled_errors.feature +0 -42
  574. data/features/plain_features/ignore_classes.feature +0 -11
  575. data/features/plain_features/ignore_report.feature +0 -14
  576. data/features/plain_features/proxies.feature +0 -25
  577. data/features/plain_features/release_stages.feature +0 -20
  578. data/features/plain_features/report_api_key.feature +0 -16
  579. data/features/plain_features/report_severity.feature +0 -17
  580. data/features/plain_features/report_stack_frames.feature +0 -53
  581. data/features/plain_features/report_user.feature +0 -51
  582. data/features/plain_features/unhandled_errors.feature +0 -33
  583. data/features/rails_features/api_key.feature +0 -15
  584. data/features/rails_features/app_type.feature +0 -24
  585. data/features/rails_features/app_version.feature +0 -26
  586. data/features/rails_features/auto_capture_sessions.feature +0 -34
  587. data/features/rails_features/auto_notify.feature +0 -41
  588. data/features/rails_features/before_notify.feature +0 -44
  589. data/features/rails_features/breadcrumbs.feature +0 -43
  590. data/features/rails_features/handled.feature +0 -42
  591. data/features/rails_features/ignore_classes.feature +0 -14
  592. data/features/rails_features/meta_data_filters.feature +0 -16
  593. data/features/rails_features/mongo_breadcrumbs.feature +0 -26
  594. data/features/rails_features/on_error.feature +0 -29
  595. data/features/rails_features/project_root.feature +0 -35
  596. data/features/rails_features/release_stage.feature +0 -27
  597. data/features/rails_features/send_code.feature +0 -18
  598. data/features/rails_features/send_environment.feature +0 -13
  599. data/features/rails_features/unhandled.feature +0 -16
  600. data/features/rails_features/user_info.feature +0 -52
  601. data/features/sidekiq.feature +0 -30
  602. data/features/steps/ruby_notifier_steps.rb +0 -75
  603. data/features/support/env.rb +0 -23
  604. data/issue_template.md +0 -48
  605. data/spec/breadcrumbs/breadcrumb_spec.rb +0 -93
  606. data/spec/breadcrumbs/validator_spec.rb +0 -176
  607. data/spec/bugsnag_spec.rb +0 -366
  608. data/spec/cleaner_spec.rb +0 -350
  609. data/spec/code_extractor_spec.rb +0 -129
  610. data/spec/configuration_spec.rb +0 -445
  611. data/spec/fixtures/apps/rails-initializer-config/Gemfile +0 -9
  612. data/spec/fixtures/apps/rails-initializer-config/config.ru +0 -16
  613. data/spec/fixtures/apps/rails-initializer-config/config/initializers/bugsnag.rb +0 -3
  614. data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +0 -9
  615. data/spec/fixtures/apps/rails-invalid-initializer-config/config.ru +0 -16
  616. data/spec/fixtures/apps/rails-invalid-initializer-config/config/initializers/bugsnag.rb +0 -3
  617. data/spec/fixtures/apps/rails-no-config/Gemfile +0 -9
  618. data/spec/fixtures/apps/rails-no-config/config.ru +0 -16
  619. data/spec/fixtures/apps/scripts/Gemfile +0 -3
  620. data/spec/fixtures/apps/scripts/configure_invalid_key.rb +0 -5
  621. data/spec/fixtures/apps/scripts/configure_key.rb +0 -5
  622. data/spec/fixtures/apps/scripts/no_config.rb +0 -3
  623. data/spec/fixtures/crashes/end_of_file.rb +0 -9
  624. data/spec/fixtures/crashes/file1.rb +0 -29
  625. data/spec/fixtures/crashes/file2.rb +0 -25
  626. data/spec/fixtures/crashes/file_with_long_lines.rb +0 -7
  627. data/spec/fixtures/crashes/functions.rb +0 -29
  628. data/spec/fixtures/crashes/short_file.rb +0 -3
  629. data/spec/fixtures/crashes/start_of_file.rb +0 -9
  630. data/spec/fixtures/middleware/internal_info_setter.rb +0 -11
  631. data/spec/fixtures/middleware/public_info_setter.rb +0 -11
  632. data/spec/fixtures/tasks/Rakefile +0 -26
  633. data/spec/helper_spec.rb +0 -131
  634. data/spec/integration_spec.rb +0 -107
  635. data/spec/integrations/clearance_user_spec.rb +0 -38
  636. data/spec/integrations/logger_spec.rb +0 -134
  637. data/spec/integrations/mailman_spec.rb +0 -83
  638. data/spec/integrations/mongo_spec.rb +0 -262
  639. data/spec/integrations/que_spec.rb +0 -94
  640. data/spec/integrations/rack_spec.rb +0 -232
  641. data/spec/integrations/rails3_request_spec.rb +0 -67
  642. data/spec/integrations/rake_spec.rb +0 -71
  643. data/spec/integrations/resque_spec.rb +0 -99
  644. data/spec/integrations/shoryuken_spec.rb +0 -70
  645. data/spec/integrations/sidekiq_spec.rb +0 -137
  646. data/spec/integrations/warden_user_spec.rb +0 -41
  647. data/spec/middleware/exception_meta_data_spec.rb +0 -104
  648. data/spec/middleware_spec.rb +0 -254
  649. data/spec/middleware_stack_spec.rb +0 -151
  650. data/spec/on_error_spec.rb +0 -332
  651. data/spec/report_spec.rb +0 -1583
  652. data/spec/session_tracker_spec.rb +0 -156
  653. data/spec/spec_helper.rb +0 -99
  654. data/spec/stacktrace_spec.rb +0 -443
  655. data/spec/utility/circular_buffer_spec.rb +0 -98
@@ -58,7 +58,7 @@ module Bugsnag
58
58
  def default_headers
59
59
  {
60
60
  "Content-Type" => "application/json",
61
- "Bugsnag-Sent-At" => Time.now().utc().strftime('%Y-%m-%dT%H:%M:%S')
61
+ "Bugsnag-Sent-At" => Time.now.utc.iso8601(3)
62
62
  }
63
63
  end
64
64
  end
@@ -9,8 +9,14 @@ module Bugsnag
9
9
 
10
10
  class << self
11
11
  ##
12
- # Queues a given payload to be delivered asynchronously.
13
- def deliver(url, body, configuration, options={})
12
+ # Queues a given payload to be delivered asynchronously
13
+ #
14
+ # @param url [String]
15
+ # @param get_payload [Proc] A Proc that will return the payload.
16
+ # @param configuration [Bugsnag::Configuration]
17
+ # @param options [Hash]
18
+ # @return [void]
19
+ def serialize_and_deliver(url, get_payload, configuration, options={})
14
20
  @configuration = configuration
15
21
 
16
22
  start_once!
@@ -21,7 +27,16 @@ module Bugsnag
21
27
  end
22
28
 
23
29
  # Add delivery to the worker thread
24
- @queue.push proc { super(url, body, configuration, options) }
30
+ @queue.push(proc do
31
+ begin
32
+ payload = get_payload.call
33
+ rescue StandardError => e
34
+ configuration.warn("Notification to #{url} failed, #{e.inspect}")
35
+ configuration.warn(e.backtrace)
36
+ end
37
+
38
+ Synchronous.deliver(url, payload, configuration, options) unless payload.nil?
39
+ end)
25
40
  end
26
41
 
27
42
  private
@@ -4,7 +4,7 @@ require 'json'
4
4
 
5
5
 
6
6
  module Bugsnag
7
- module Helpers
7
+ module Helpers # rubocop:todo Metrics/ModuleLength
8
8
  MAX_STRING_LENGTH = 3072
9
9
  MAX_PAYLOAD_LENGTH = 512000
10
10
  MAX_ARRAY_LENGTH = 80
@@ -19,8 +19,12 @@ module Bugsnag
19
19
 
20
20
  return value unless payload_too_long?(value)
21
21
 
22
+ # Truncate exception messages
23
+ reduced_value = truncate_exception_messages(value)
24
+ return reduced_value unless payload_too_long?(reduced_value)
25
+
22
26
  # Trim metadata
23
- reduced_value = trim_metadata(value)
27
+ reduced_value = trim_metadata(reduced_value)
24
28
  return reduced_value unless payload_too_long?(reduced_value)
25
29
 
26
30
  # Trim code from stacktrace
@@ -71,6 +75,15 @@ module Bugsnag
71
75
 
72
76
  TRUNCATION_INFO = '[TRUNCATED]'
73
77
 
78
+ ##
79
+ # Truncate exception messages
80
+ def self.truncate_exception_messages(payload)
81
+ extract_exception(payload) do |exception|
82
+ exception[:message] = trim_as_string(exception[:message])
83
+ end
84
+ payload
85
+ end
86
+
74
87
  ##
75
88
  # Remove all code from stacktraces
76
89
  def self.trim_stacktrace_code(payload)
@@ -94,11 +107,11 @@ module Bugsnag
94
107
 
95
108
  ##
96
109
  # Wrapper for trimming stacktraces
97
- def self.extract_exception(payload)
110
+ def self.extract_exception(payload, &block)
98
111
  valid_payload = payload.is_a?(Hash) && payload[:events].respond_to?(:map)
99
112
  return unless valid_payload && block_given?
100
113
  payload[:events].each do |event|
101
- event[:exceptions].each { |exception| yield exception }
114
+ event[:exceptions].each(&block)
102
115
  end
103
116
  end
104
117
 
@@ -10,11 +10,23 @@ end
10
10
  module Delayed
11
11
  module Plugins
12
12
  class Bugsnag < ::Delayed::Plugin
13
+ ##
14
+ # DelayedJob doesn't have an easy way to fetch its version, but we can use
15
+ # Gem.loaded_specs to get the version instead
16
+ def self.delayed_job_version
17
+ ::Gem.loaded_specs['delayed_job'].version.to_s
18
+ rescue StandardError
19
+ # Explicitly return nil to prevent Rubocop complaining of a suppressed exception
20
+ nil
21
+ end
22
+
13
23
  callbacks do |lifecycle|
14
24
  lifecycle.around(:invoke_job) do |job, *args, &block|
15
25
  begin
16
- ::Bugsnag.configuration.app_type = 'delayed_job'
26
+ ::Bugsnag.configuration.detected_app_type = 'delayed_job'
27
+ ::Bugsnag.configuration.runtime_versions['delayed_job'] = delayed_job_version if defined?(::Gem)
17
28
  ::Bugsnag.configuration.set_request_data(:delayed_job, job)
29
+
18
30
  block.call(job, *args)
19
31
  rescue Exception => exception
20
32
  ::Bugsnag.notify(exception, true) do |report|
@@ -11,7 +11,8 @@ module Bugsnag
11
11
 
12
12
  def initialize
13
13
  Bugsnag.configuration.internal_middleware.use(Bugsnag::Middleware::Mailman)
14
- Bugsnag.configuration.app_type = "mailman"
14
+ Bugsnag.configuration.detected_app_type = "mailman"
15
+ Bugsnag.configuration.runtime_versions["mailman"] = ::Mailman::VERSION
15
16
  end
16
17
 
17
18
  ##
@@ -127,6 +127,8 @@ module Bugsnag
127
127
  end
128
128
  end
129
129
 
130
- ##
131
- # Add the subscriber to the global Mongo monitoring object
132
- Mongo::Monitoring::Global.subscribe(Mongo::Monitoring::COMMAND, Bugsnag::MongoBreadcrumbSubscriber.new)
130
+ if defined?(Mongo::Monitoring)
131
+ ##
132
+ # Add the subscriber to the global Mongo monitoring object
133
+ Mongo::Monitoring::Global.subscribe(Mongo::Monitoring::COMMAND, Bugsnag::MongoBreadcrumbSubscriber.new)
134
+ end
@@ -37,7 +37,8 @@ if defined?(::Que)
37
37
  end
38
38
  end
39
39
 
40
- Bugsnag.configuration.app_type ||= "que"
40
+ Bugsnag.configuration.detected_app_type = "que"
41
+
41
42
  if defined?(::Que::Version)
42
43
  Bugsnag.configuration.runtime_versions["que"] = ::Que::Version
43
44
  elsif defined?(::Que::VERSION)
@@ -30,7 +30,9 @@ module Bugsnag
30
30
  config.middleware.insert_before(Bugsnag::Middleware::Callbacks, Bugsnag::Middleware::ClearanceUser) if defined?(Clearance)
31
31
 
32
32
  # Set environment data for payload
33
- config.app_type ||= "rack"
33
+ # Note we only set the detected app_type if it's not already set. This
34
+ # ensures we don't overwrite the value set by the Railtie
35
+ config.detected_app_type ||= "rack"
34
36
  config.runtime_versions["rack"] = ::Rack.release if defined?(::Rack)
35
37
  config.runtime_versions["sinatra"] = ::Sinatra::VERSION if defined?(::Sinatra)
36
38
  end
@@ -38,6 +38,8 @@ module Bugsnag::Rails
38
38
  :type => Bugsnag::Breadcrumbs::PROCESS_BREADCRUMB_TYPE,
39
39
  :allowed_data => [
40
40
  :name,
41
+ # :connection_id is no longer provided in Rails 6.1+ but we can get it
42
+ # from the :connection key of the event instead
41
43
  :connection_id,
42
44
  :cached
43
45
  ]
@@ -25,7 +25,7 @@ module Bugsnag
25
25
  # initializer. If not, the key will be validated in after_initialize.
26
26
  Bugsnag.configure(false) do |config|
27
27
  config.logger = ::Rails.logger
28
- config.release_stage = ENV["BUGSNAG_RELEASE_STAGE"] || ::Rails.env.to_s
28
+ config.release_stage ||= ::Rails.env.to_s
29
29
  config.project_root = ::Rails.root.to_s
30
30
  config.middleware.insert_before Bugsnag::Middleware::Callbacks, Bugsnag::Middleware::Rails3Request
31
31
  config.runtime_versions["rails"] = ::Rails::VERSION::STRING
@@ -43,7 +43,9 @@ module Bugsnag
43
43
 
44
44
  Bugsnag::Rails::DEFAULT_RAILS_BREADCRUMBS.each { |event| event_subscription(event) }
45
45
 
46
- Bugsnag.configuration.app_type = "rails"
46
+ # Make sure we don't overwrite the value set by another integration because
47
+ # Rails is a less specific app_type (e.g. Que sets this earlier than us)
48
+ Bugsnag.configuration.detected_app_type ||= "rails"
47
49
  end
48
50
 
49
51
  # Configure meta_data_filters after initialization, so that rails initializers
@@ -63,9 +65,19 @@ module Bugsnag
63
65
 
64
66
  initializer "bugsnag.use_rack_middleware" do |app|
65
67
  begin
66
- app.config.middleware.insert_after ActionDispatch::DebugExceptions, Bugsnag::Rack
67
- rescue
68
- app.config.middleware.use Bugsnag::Rack
68
+ begin
69
+ app.config.middleware.insert_after ActionDispatch::DebugExceptions, Bugsnag::Rack
70
+ rescue
71
+ app.config.middleware.use Bugsnag::Rack
72
+ end
73
+ rescue FrozenError
74
+ # This can happen when running RSpec if there is a crash after Rails has
75
+ # started booting but before we've added our middleware. If we don't ignore
76
+ # this error then the stacktrace blames Bugsnag, which isn't accurate as
77
+ # the middleware will only be frozen if an earlier error occurs
78
+ # See this comment for more info:
79
+ # https://github.com/thoughtbot/factory_bot_rails/issues/303#issuecomment-434560625
80
+ Bugsnag.configuration.warn("Unable to add Bugsnag::Rack middleware as the middleware stack is frozen")
69
81
  end
70
82
  end
71
83
 
@@ -79,10 +91,21 @@ module Bugsnag
79
91
  filtered_data = data.slice(*event[:allowed_data])
80
92
  filtered_data[:event_name] = event[:id]
81
93
  filtered_data[:event_id] = event_id
82
- if event[:id] == "sql.active_record" && data.key?(:binds)
83
- binds = data[:binds].each_with_object({}) { |bind, output| output[bind.name] = '?' if defined?(bind.name) }
84
- filtered_data[:binds] = JSON.dump(binds) unless binds.empty?
94
+
95
+ if event[:id] == "sql.active_record"
96
+ if data.key?(:binds)
97
+ binds = data[:binds].each_with_object({}) { |bind, output| output[bind.name] = '?' if defined?(bind.name) }
98
+ filtered_data[:binds] = JSON.dump(binds) unless binds.empty?
99
+ end
100
+
101
+ # Rails < 6.1 included connection_id in the event data, but now
102
+ # includes the connection object instead
103
+ if data.key?(:connection) && !data.key?(:connection_id)
104
+ # the connection ID is the object_id of the connection object
105
+ filtered_data[:connection_id] = data[:connection].object_id
106
+ end
85
107
  end
108
+
86
109
  Bugsnag.leave_breadcrumb(
87
110
  event[:message],
88
111
  filtered_data,
@@ -11,7 +11,8 @@ if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.0')
11
11
 
12
12
  # Executes the rake task with Bugsnag setup with contextual data.
13
13
  def execute(args = nil)
14
- Bugsnag.configuration.app_type ||= "rake"
14
+ Bugsnag.configuration.detected_app_type = "rake"
15
+
15
16
  old_task = Bugsnag.configuration.request_data[:bugsnag_running_task]
16
17
  Bugsnag.configuration.set_request_data :bugsnag_running_task, self
17
18
  Bugsnag.configuration.runtime_versions["rake"] = ::Rake::VERSION
@@ -42,7 +43,8 @@ else
42
43
  ##
43
44
  # Executes the rake task with Bugsnag setup with contextual data.
44
45
  def execute_with_bugsnag(args=nil)
45
- Bugsnag.configuration.app_type ||= "rake"
46
+ Bugsnag.configuration.detected_app_type = "rake"
47
+
46
48
  old_task = Bugsnag.configuration.request_data[:bugsnag_running_task]
47
49
  Bugsnag.configuration.set_request_data :bugsnag_running_task, self
48
50
  Bugsnag.configuration.runtime_versions["rake"] = ::Rake::VERSION
@@ -58,16 +58,23 @@ Resque::Failure::Bugsnag = Bugsnag::Resque
58
58
  # Auto-load the failure backend
59
59
  Bugsnag::Resque.add_failure_backend
60
60
 
61
- if Resque::Worker.new(:bugsnag_fork_check).fork_per_job?
61
+ worker = Resque::Worker.new(:bugsnag_fork_check)
62
+
63
+ # If at_exit hooks are not enabled then we can't use the thread queue delivery
64
+ # method because it relies on an at_exit hook to ensure the queue is flushed
65
+ can_use_thread_queue = worker.respond_to?(:run_at_exit_hooks) && worker.run_at_exit_hooks
66
+ default_delivery_method = can_use_thread_queue ? :thread_queue : :synchronous
67
+
68
+ if worker.fork_per_job?
62
69
  Resque.after_fork do
63
- Bugsnag.configuration.app_type = "resque"
64
- Bugsnag.configuration.default_delivery_method = :synchronous
70
+ Bugsnag.configuration.detected_app_type = "resque"
71
+ Bugsnag.configuration.default_delivery_method = default_delivery_method
65
72
  Bugsnag.configuration.runtime_versions["resque"] = ::Resque::VERSION
66
73
  end
67
74
  else
68
75
  Resque.before_first_fork do
69
- Bugsnag.configuration.app_type = "resque"
70
- Bugsnag.configuration.default_delivery_method = :synchronous
76
+ Bugsnag.configuration.detected_app_type = "resque"
77
+ Bugsnag.configuration.default_delivery_method = default_delivery_method
71
78
  Bugsnag.configuration.runtime_versions["resque"] = ::Resque::VERSION
72
79
  end
73
80
  end
@@ -11,8 +11,9 @@ module Bugsnag
11
11
 
12
12
  def initialize
13
13
  Bugsnag.configure do |config|
14
- config.app_type ||= "shoryuken"
14
+ config.detected_app_type = "shoryuken"
15
15
  config.default_delivery_method = :synchronous
16
+ config.runtime_versions["shoryuken"] = ::Shoryuken::VERSION
16
17
  end
17
18
  end
18
19
 
@@ -13,8 +13,7 @@ module Bugsnag
13
13
 
14
14
  def initialize
15
15
  Bugsnag.configuration.internal_middleware.use(Bugsnag::Middleware::Sidekiq)
16
- Bugsnag.configuration.app_type = "sidekiq"
17
- Bugsnag.configuration.default_delivery_method = :synchronous
16
+ Bugsnag.configuration.detected_app_type = "sidekiq"
18
17
  Bugsnag.configuration.runtime_versions["sidekiq"] = ::Sidekiq::VERSION
19
18
  end
20
19
 
@@ -9,6 +9,7 @@ module Bugsnag::Middleware
9
9
  "ActionController::UnknownAction",
10
10
  "ActionController::UnknownFormat",
11
11
  "ActionController::UnknownHttpMethod",
12
+ "ActionDispatch::Http::MimeNegotiation::InvalidType",
12
13
  "ActiveRecord::RecordNotFound",
13
14
  "CGI::Session::CookieStore::TamperedWithCookie",
14
15
  "Mongoid::Errors::DocumentNotFound",
@@ -24,6 +24,7 @@ module Bugsnag::Middleware
24
24
  job_data[:active_job] = job.payload_object.job_data if job.payload_object.respond_to?(:job_data)
25
25
  payload_data = construct_job_payload(job.payload_object)
26
26
  report.context = payload_data[:display_name] if payload_data.include?(:display_name)
27
+ report.context ||= payload_data[:class] if payload_data.include?(:class)
27
28
  job_data[:payload] = payload_data
28
29
  end
29
30
 
@@ -19,24 +19,87 @@ module Bugsnag
19
19
 
20
20
  CURRENT_PAYLOAD_VERSION = "4.0"
21
21
 
22
- attr_reader :unhandled
22
+ # Whether this report is for a handled or unhandled error
23
+ # @return [Boolean]
24
+ attr_reader :unhandled
25
+
26
+ # Your Integration API Key
27
+ # @see Configuration#api_key
28
+ # @return [String, nil]
23
29
  attr_accessor :api_key
30
+
31
+ # The type of application executing the current code
32
+ # @see Configuration#app_type
33
+ # @return [String, nil]
24
34
  attr_accessor :app_type
35
+
36
+ # The current version of your application
37
+ # @return [String, nil]
25
38
  attr_accessor :app_version
39
+
40
+ # The list of breadcrumbs attached to this report
41
+ # @return [Array<Breadcrumb>]
26
42
  attr_accessor :breadcrumbs
43
+
44
+ # @api private
45
+ # @return [Configuration]
27
46
  attr_accessor :configuration
47
+
48
+ # Additional context for this report
49
+ # @return [String, nil]
28
50
  attr_accessor :context
51
+
52
+ # The delivery method that will be used for this report
53
+ # @see Configuration#delivery_method
54
+ # @return [Symbol]
29
55
  attr_accessor :delivery_method
56
+
57
+ # The list of exceptions in this report
58
+ # @return [Array<Hash>]
30
59
  attr_accessor :exceptions
60
+
61
+ # @see Configuration#hostname
62
+ # @return [String]
31
63
  attr_accessor :hostname
64
+
65
+ # @api private
66
+ # @see Configuration#runtime_versions
67
+ # @return [Hash{String => String}]
32
68
  attr_accessor :runtime_versions
69
+
70
+ # All errors with the same grouping hash will be grouped in the Bugsnag app
71
+ # @return [String]
33
72
  attr_accessor :grouping_hash
73
+
74
+ # Arbitrary metadata attached to this report
75
+ # @return [Hash]
34
76
  attr_accessor :meta_data
77
+
78
+ # The raw Exception instances for this report
79
+ # @see #exceptions
80
+ # @return [Array<Exception>]
35
81
  attr_accessor :raw_exceptions
82
+
83
+ # The current stage of the release process, e.g. 'development', production'
84
+ # @see Configuration#release_stage
85
+ # @return [String, nil]
36
86
  attr_accessor :release_stage
87
+
88
+ # The session that active when this report was generated
89
+ # @see SessionTracker#get_current_session
90
+ # @return [Hash]
37
91
  attr_accessor :session
92
+
93
+ # The severity of this report, e.g. 'error', 'warning'
94
+ # @return [String]
38
95
  attr_accessor :severity
96
+
97
+ # @api private
98
+ # @return [Hash]
39
99
  attr_accessor :severity_reason
100
+
101
+ # The current user when this report was generated
102
+ # @return [Hash]
40
103
  attr_accessor :user
41
104
 
42
105
  ##
@@ -66,6 +129,12 @@ module Bugsnag
66
129
 
67
130
  ##
68
131
  # Add a new metadata tab to this notification.
132
+ #
133
+ # @param name [String, #to_s] The name of the tab to add
134
+ # @param value [Hash, Object] The value to add to the tab. If the tab already
135
+ # exists, this will be merged with the existing values. If a Hash is not
136
+ # given, the value will be placed into the 'custom' tab
137
+ # @return [void]
69
138
  def add_tab(name, value)
70
139
  return if name.nil?
71
140
 
@@ -81,6 +150,9 @@ module Bugsnag
81
150
 
82
151
  ##
83
152
  # Removes a metadata tab from this notification.
153
+ #
154
+ # @param name [String]
155
+ # @return [void]
84
156
  def remove_tab(name)
85
157
  return if name.nil?
86
158
 
@@ -89,6 +161,8 @@ module Bugsnag
89
161
 
90
162
  ##
91
163
  # Builds and returns the exception payload for this notification.
164
+ #
165
+ # @return [Hash]
92
166
  def as_json
93
167
  # Build the payload's exception event
94
168
  payload_event = {
@@ -129,28 +203,36 @@ module Bugsnag
129
203
 
130
204
  ##
131
205
  # Returns the headers required for the notification.
206
+ #
207
+ # @return [Hash{String => String}]
132
208
  def headers
133
209
  {
134
210
  "Bugsnag-Api-Key" => api_key,
135
211
  "Bugsnag-Payload-Version" => CURRENT_PAYLOAD_VERSION,
136
- "Bugsnag-Sent-At" => Time.now().utc().strftime('%Y-%m-%dT%H:%M:%S')
212
+ "Bugsnag-Sent-At" => Time.now.utc.iso8601(3)
137
213
  }
138
214
  end
139
215
 
140
216
  ##
141
217
  # Whether this report should be ignored and not sent.
218
+ #
219
+ # @return [Boolean]
142
220
  def ignore?
143
221
  @should_ignore
144
222
  end
145
223
 
146
224
  ##
147
225
  # Data set on the configuration to be attached to every error notification.
226
+ #
227
+ # @return [Hash]
148
228
  def request_data
149
229
  configuration.request_data
150
230
  end
151
231
 
152
232
  ##
153
233
  # Tells the client this report should not be sent.
234
+ #
235
+ # @return [void]
154
236
  def ignore!
155
237
  @should_ignore = true
156
238
  end