bugsnag 6.7.3 → 6.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +3 -0
  3. data/.rubocop_todo.yml +3 -1
  4. data/.travis.yml +40 -0
  5. data/CHANGELOG.md +22 -0
  6. data/Gemfile +9 -4
  7. data/VERSION +1 -1
  8. data/features/fixtures/delayed_job/.dockerignore +1 -0
  9. data/features/fixtures/delayed_job/Dockerfile +12 -0
  10. data/features/fixtures/delayed_job/Gemfile +4 -0
  11. data/features/fixtures/docker-compose.yml +247 -0
  12. data/features/fixtures/plain/.dockerignore +2 -0
  13. data/features/fixtures/plain/Dockerfile +12 -0
  14. data/features/fixtures/plain/app/Gemfile +3 -0
  15. data/features/fixtures/plain/app/app.rb +40 -0
  16. data/features/fixtures/plain/app/configuration/api_key.rb +9 -0
  17. data/features/fixtures/plain/app/configuration/proxy.rb +14 -0
  18. data/features/fixtures/plain/app/configuration/send_handled.rb +7 -0
  19. data/features/fixtures/plain/app/configuration/send_unhandled.rb +9 -0
  20. data/features/fixtures/plain/app/delivery/fork_threadpool.rb +25 -0
  21. data/features/fixtures/plain/app/delivery/synchronous.rb +14 -0
  22. data/features/fixtures/plain/app/delivery/threadpool.rb +14 -0
  23. data/features/fixtures/plain/app/exception_data/crash.rb +34 -0
  24. data/features/fixtures/plain/app/exception_data/handled_context.rb +10 -0
  25. data/features/fixtures/plain/app/exception_data/handled_hash.rb +10 -0
  26. data/features/fixtures/plain/app/exception_data/handled_meta_data.rb +10 -0
  27. data/features/fixtures/plain/app/exception_data/handled_user_id.rb +10 -0
  28. data/features/fixtures/plain/app/exception_data/unhandled_context.rb +7 -0
  29. data/features/fixtures/plain/app/exception_data/unhandled_hash.rb +7 -0
  30. data/features/fixtures/plain/app/exception_data/unhandled_meta_data.rb +7 -0
  31. data/features/fixtures/plain/app/exception_data/unhandled_user_id.rb +7 -0
  32. data/features/fixtures/plain/app/filters/additional_filters.rb +11 -0
  33. data/features/fixtures/plain/app/filters/default_filters.rb +15 -0
  34. data/features/fixtures/plain/app/handled/block_metadata.rb +15 -0
  35. data/features/fixtures/plain/app/handled/ignore_exception.rb +12 -0
  36. data/features/fixtures/plain/app/handled/notify_exception.rb +9 -0
  37. data/features/fixtures/plain/app/handled/notify_string.rb +9 -0
  38. data/features/fixtures/plain/app/ignore_classes/handled.rb +8 -0
  39. data/features/fixtures/plain/app/ignore_classes/ignore_error.rb +8 -0
  40. data/features/fixtures/plain/app/ignore_classes/unhandled.rb +4 -0
  41. data/features/fixtures/plain/app/report_modification/add_tab.rb +16 -0
  42. data/features/fixtures/plain/app/report_modification/add_tab_existing.rb +22 -0
  43. data/features/fixtures/plain/app/report_modification/add_tab_override.rb +19 -0
  44. data/features/fixtures/plain/app/report_modification/ignore_report.rb +9 -0
  45. data/features/fixtures/plain/app/report_modification/initiators/handled_before_notify.rb +10 -0
  46. data/features/fixtures/plain/app/report_modification/initiators/handled_block.rb +8 -0
  47. data/features/fixtures/plain/app/report_modification/initiators/unhandled_before_notify.rb +11 -0
  48. data/features/fixtures/plain/app/report_modification/modify_api_key.rb +9 -0
  49. data/features/fixtures/plain/app/report_modification/modify_severity.rb +9 -0
  50. data/features/fixtures/plain/app/report_modification/remove_user_details.rb +14 -0
  51. data/features/fixtures/plain/app/report_modification/set_custom_user_details.rb +16 -0
  52. data/features/fixtures/plain/app/report_modification/set_user_details.rb +13 -0
  53. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_before_notify.rb +25 -0
  54. data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_block.rb +24 -0
  55. data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_before_notify.rb +26 -0
  56. data/features/fixtures/plain/app/stack_frame_modification/mark_frames_in_project.rb +13 -0
  57. data/features/fixtures/plain/app/stack_frame_modification/remove_stack_frame.rb +9 -0
  58. data/features/fixtures/plain/app/unhandled/Interrupt.rb +6 -0
  59. data/features/fixtures/plain/app/unhandled/bad_syntax.rb +1 -0
  60. data/features/fixtures/plain/app/unhandled/custom_error.rb +9 -0
  61. data/features/fixtures/plain/app/unhandled/load_error.rb +6 -0
  62. data/features/fixtures/plain/app/unhandled/local_jump_error.rb +10 -0
  63. data/features/fixtures/plain/app/unhandled/name_error.rb +6 -0
  64. data/features/fixtures/plain/app/unhandled/no_method_error.rb +6 -0
  65. data/features/fixtures/plain/app/unhandled/runtime_error.rb +6 -0
  66. data/features/fixtures/plain/app/unhandled/syntax_error.rb +6 -0
  67. data/features/fixtures/plain/app/unhandled/system_call_error.rb +6 -0
  68. data/features/fixtures/plain/app/unhandled/system_exit.rb +6 -0
  69. data/features/fixtures/plain/json/delivery_fork.json +4 -0
  70. data/features/fixtures/plain/json/delivery_synchronous.json +4 -0
  71. data/features/fixtures/plain/json/delivery_threadpool.json +4 -0
  72. data/features/fixtures/plain/json/filters_default_metadata_filters.json +9 -0
  73. data/features/fixtures/rack1/.dockerignore +1 -0
  74. data/features/fixtures/rack1/Dockerfile +12 -0
  75. data/features/fixtures/rack1/Gemfile +4 -0
  76. data/features/fixtures/rack1/app.rb +8 -0
  77. data/features/fixtures/rack2/.dockerignore +1 -0
  78. data/features/fixtures/rack2/Dockerfile +12 -0
  79. data/features/fixtures/rack2/Gemfile +4 -0
  80. data/features/fixtures/rack2/app.rb +8 -0
  81. data/features/fixtures/rails3/.dockerignore +1 -0
  82. data/features/fixtures/rails3/Dockerfile +16 -0
  83. data/features/fixtures/rails3/app/.gitignore +15 -0
  84. data/features/fixtures/rails3/app/Gemfile +13 -0
  85. data/features/fixtures/rails3/app/Rakefile +7 -0
  86. data/features/fixtures/rails3/app/app/assets/images/rails.png +0 -0
  87. data/features/fixtures/rails3/app/app/assets/javascripts/application.js +15 -0
  88. data/features/fixtures/rails3/app/app/assets/stylesheets/application.css +13 -0
  89. data/features/fixtures/rails3/app/app/controllers/api_key_controller.rb +20 -0
  90. data/features/fixtures/rails3/app/app/controllers/app_type_controller.rb +20 -0
  91. data/features/fixtures/rails3/app/app/controllers/app_version_controller.rb +25 -0
  92. data/features/fixtures/rails3/app/app/controllers/application_controller.rb +7 -0
  93. data/features/fixtures/rails3/app/app/controllers/auto_notify_controller.rb +31 -0
  94. data/features/fixtures/rails3/app/app/controllers/before_notify_controller.rb +44 -0
  95. data/features/fixtures/rails3/app/app/controllers/handled_controller.rb +26 -0
  96. data/features/fixtures/rails3/app/app/controllers/ignore_classes_controller.rb +23 -0
  97. data/features/fixtures/rails3/app/app/controllers/metadata_filters_controller.rb +16 -0
  98. data/features/fixtures/rails3/app/app/controllers/project_root_controller.rb +25 -0
  99. data/features/fixtures/rails3/app/app/controllers/release_stage_controller.rb +20 -0
  100. data/features/fixtures/rails3/app/app/controllers/send_code_controller.rb +20 -0
  101. data/features/fixtures/rails3/app/app/controllers/send_environment_controller.rb +12 -0
  102. data/features/fixtures/rails3/app/app/controllers/session_tracking_controller.rb +20 -0
  103. data/features/fixtures/rails3/app/app/controllers/unhandled_controller.rb +11 -0
  104. data/features/fixtures/rails3/app/app/controllers/warden_controller.rb +30 -0
  105. data/features/fixtures/rails3/app/app/helpers/application_helper.rb +2 -0
  106. data/features/fixtures/rails3/app/app/mailers/.gitkeep +0 -0
  107. data/features/fixtures/rails3/app/app/models/.gitkeep +0 -0
  108. data/features/fixtures/rails3/app/app/models/user.rb +6 -0
  109. data/features/fixtures/rails3/app/app/views/layouts/application.html.erb +14 -0
  110. data/features/fixtures/rails3/app/config.ru +4 -0
  111. data/features/fixtures/rails3/app/config/application.rb +67 -0
  112. data/features/fixtures/rails3/app/config/boot.rb +6 -0
  113. data/features/fixtures/rails3/app/config/database.yml +31 -0
  114. data/features/fixtures/rails3/app/config/environment.rb +5 -0
  115. data/features/fixtures/rails3/app/config/environments/development.rb +37 -0
  116. data/features/fixtures/rails3/app/config/environments/production.rb +67 -0
  117. data/features/fixtures/rails3/app/config/environments/rails_env.rb +37 -0
  118. data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +14 -0
  119. data/features/fixtures/rails3/app/config/initializers/secret_token.rb +7 -0
  120. data/features/fixtures/rails3/app/config/initializers/session_store.rb +8 -0
  121. data/features/fixtures/rails3/app/config/initializers/warden.rb +3 -0
  122. data/features/fixtures/rails3/app/config/initializers/wrap_parameters.rb +14 -0
  123. data/features/fixtures/rails3/app/config/locales/en.yml +5 -0
  124. data/features/fixtures/rails3/app/config/routes.rb +18 -0
  125. data/features/fixtures/rails3/app/db/migrate/20180423142727_create_users.rb +45 -0
  126. data/features/fixtures/rails3/app/db/schema.rb +37 -0
  127. data/features/fixtures/rails3/app/db/seeds.rb +7 -0
  128. data/features/fixtures/rails3/app/lib/assets/.gitkeep +0 -0
  129. data/features/fixtures/rails3/app/lib/strategies/token_strategy.rb +12 -0
  130. data/features/fixtures/rails3/app/lib/tasks/.gitkeep +0 -0
  131. data/features/fixtures/rails3/app/log/.gitkeep +0 -0
  132. data/features/fixtures/rails3/app/public/404.html +26 -0
  133. data/features/fixtures/rails3/app/public/422.html +26 -0
  134. data/features/fixtures/rails3/app/public/500.html +25 -0
  135. data/features/fixtures/rails3/app/public/favicon.ico +0 -0
  136. data/features/fixtures/rails3/app/public/index.html +241 -0
  137. data/features/fixtures/rails3/app/public/robots.txt +5 -0
  138. data/features/fixtures/rails3/app/script/rails +6 -0
  139. data/features/fixtures/rails4/.dockerignore +1 -0
  140. data/features/fixtures/rails4/Dockerfile +18 -0
  141. data/features/fixtures/rails4/app/.gitignore +16 -0
  142. data/features/fixtures/rails4/app/Gemfile +42 -0
  143. data/features/fixtures/rails4/app/README.rdoc +28 -0
  144. data/features/fixtures/rails4/app/Rakefile +6 -0
  145. data/features/fixtures/rails4/app/app/assets/images/.keep +0 -0
  146. data/features/fixtures/rails4/app/app/assets/javascripts/application.js +16 -0
  147. data/features/fixtures/rails4/app/app/assets/stylesheets/application.css +13 -0
  148. data/features/fixtures/rails4/app/app/controllers/api_key_controller.rb +20 -0
  149. data/features/fixtures/rails4/app/app/controllers/app_type_controller.rb +20 -0
  150. data/features/fixtures/rails4/app/app/controllers/app_version_controller.rb +25 -0
  151. data/features/fixtures/rails4/app/app/controllers/application_controller.rb +7 -0
  152. data/features/fixtures/rails4/app/app/controllers/auto_notify_controller.rb +31 -0
  153. data/features/fixtures/rails4/app/app/controllers/before_notify_controller.rb +44 -0
  154. data/features/fixtures/rails4/app/app/controllers/concerns/.keep +0 -0
  155. data/features/fixtures/rails4/app/app/controllers/devise_controller.rb +32 -0
  156. data/features/fixtures/rails4/app/app/controllers/handled_controller.rb +26 -0
  157. data/features/fixtures/rails4/app/app/controllers/ignore_classes_controller.rb +23 -0
  158. data/features/fixtures/rails4/app/app/controllers/metadata_filters_controller.rb +16 -0
  159. data/features/fixtures/rails4/app/app/controllers/project_root_controller.rb +25 -0
  160. data/features/fixtures/rails4/app/app/controllers/release_stage_controller.rb +20 -0
  161. data/features/fixtures/rails4/app/app/controllers/send_code_controller.rb +20 -0
  162. data/features/fixtures/rails4/app/app/controllers/send_environment_controller.rb +12 -0
  163. data/features/fixtures/rails4/app/app/controllers/session_tracking_controller.rb +20 -0
  164. data/features/fixtures/rails4/app/app/controllers/unhandled_controller.rb +11 -0
  165. data/features/fixtures/rails4/app/app/helpers/application_helper.rb +2 -0
  166. data/features/fixtures/rails4/app/app/mailers/.keep +0 -0
  167. data/features/fixtures/rails4/app/app/models/.keep +0 -0
  168. data/features/fixtures/rails4/app/app/models/concerns/.keep +0 -0
  169. data/features/fixtures/rails4/app/app/models/user.rb +6 -0
  170. data/features/fixtures/rails4/app/app/views/layouts/application.html.erb +14 -0
  171. data/features/fixtures/rails4/app/config.ru +4 -0
  172. data/features/fixtures/rails4/app/config/application.rb +23 -0
  173. data/features/fixtures/rails4/app/config/boot.rb +4 -0
  174. data/features/fixtures/rails4/app/config/database.yml +31 -0
  175. data/features/fixtures/rails4/app/config/environment.rb +5 -0
  176. data/features/fixtures/rails4/app/config/environments/development.rb +31 -0
  177. data/features/fixtures/rails4/app/config/environments/production.rb +81 -0
  178. data/features/fixtures/rails4/app/config/environments/rails_env.rb +30 -0
  179. data/features/fixtures/rails4/app/config/environments/test.rb +31 -0
  180. data/features/fixtures/rails4/app/config/initializers/backtrace_silencers.rb +7 -0
  181. data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +14 -0
  182. data/features/fixtures/rails4/app/config/initializers/devise.rb +283 -0
  183. data/features/fixtures/rails4/app/config/initializers/filter_parameter_logging.rb +5 -0
  184. data/features/fixtures/rails4/app/config/initializers/inflections.rb +16 -0
  185. data/features/fixtures/rails4/app/config/initializers/mime_types.rb +5 -0
  186. data/features/fixtures/rails4/app/config/initializers/secret_token.rb +12 -0
  187. data/features/fixtures/rails4/app/config/initializers/session_store.rb +3 -0
  188. data/features/fixtures/rails4/app/config/initializers/wrap_parameters.rb +14 -0
  189. data/features/fixtures/rails4/app/config/locales/devise.en.yml +64 -0
  190. data/features/fixtures/rails4/app/config/locales/en.yml +23 -0
  191. data/features/fixtures/rails4/app/config/routes.rb +19 -0
  192. data/features/fixtures/rails4/app/db/migrate/20180420160315_devise_create_users.rb +47 -0
  193. data/features/fixtures/rails4/app/db/seeds.rb +7 -0
  194. data/features/fixtures/rails4/app/lib/assets/.keep +0 -0
  195. data/features/fixtures/rails4/app/lib/tasks/.keep +0 -0
  196. data/features/fixtures/rails4/app/log/.keep +0 -0
  197. data/features/fixtures/rails4/app/public/404.html +58 -0
  198. data/features/fixtures/rails4/app/public/422.html +58 -0
  199. data/features/fixtures/rails4/app/public/500.html +57 -0
  200. data/features/fixtures/rails4/app/public/favicon.ico +0 -0
  201. data/features/fixtures/rails4/app/public/robots.txt +5 -0
  202. data/features/fixtures/rails4/app/test/controllers/.keep +0 -0
  203. data/features/fixtures/rails4/app/test/fixtures/.keep +0 -0
  204. data/features/fixtures/rails4/app/test/helpers/.keep +0 -0
  205. data/features/fixtures/rails4/app/test/integration/.keep +0 -0
  206. data/features/fixtures/rails4/app/test/mailers/.keep +0 -0
  207. data/features/fixtures/rails4/app/test/models/.keep +0 -0
  208. data/features/fixtures/rails4/app/test/test_helper.rb +15 -0
  209. data/features/fixtures/rails5/.dockerignore +1 -0
  210. data/features/fixtures/rails5/Dockerfile +18 -0
  211. data/features/fixtures/rails5/app/.gitignore +21 -0
  212. data/features/fixtures/rails5/app/Gemfile +47 -0
  213. data/features/fixtures/rails5/app/README.md +24 -0
  214. data/features/fixtures/rails5/app/Rakefile +6 -0
  215. data/features/fixtures/rails5/app/app/assets/config/manifest.js +3 -0
  216. data/features/fixtures/rails5/app/app/assets/images/.keep +0 -0
  217. data/features/fixtures/rails5/app/app/assets/javascripts/application.js +16 -0
  218. data/features/fixtures/rails5/app/app/assets/javascripts/cable.js +13 -0
  219. data/features/fixtures/rails5/app/app/assets/javascripts/channels/.keep +0 -0
  220. data/features/fixtures/rails5/app/app/assets/stylesheets/application.css +15 -0
  221. data/features/fixtures/rails5/app/app/channels/application_cable/channel.rb +4 -0
  222. data/features/fixtures/rails5/app/app/channels/application_cable/connection.rb +4 -0
  223. data/features/fixtures/rails5/app/app/controllers/api_key_controller.rb +16 -0
  224. data/features/fixtures/rails5/app/app/controllers/app_type_controller.rb +16 -0
  225. data/features/fixtures/rails5/app/app/controllers/app_version_controller.rb +21 -0
  226. data/features/fixtures/rails5/app/app/controllers/application_controller.rb +7 -0
  227. data/features/fixtures/rails5/app/app/controllers/auto_notify_controller.rb +27 -0
  228. data/features/fixtures/rails5/app/app/controllers/before_notify_controller.rb +40 -0
  229. data/features/fixtures/rails5/app/app/controllers/clearance_controller.rb +33 -0
  230. data/features/fixtures/rails5/app/app/controllers/concerns/.keep +0 -0
  231. data/features/fixtures/rails5/app/app/controllers/handled_controller.rb +22 -0
  232. data/features/fixtures/rails5/app/app/controllers/ignore_classes_controller.rb +19 -0
  233. data/features/fixtures/rails5/app/app/controllers/metadata_filters_controller.rb +12 -0
  234. data/features/fixtures/rails5/app/app/controllers/project_root_controller.rb +21 -0
  235. data/features/fixtures/rails5/app/app/controllers/release_stage_controller.rb +16 -0
  236. data/features/fixtures/rails5/app/app/controllers/send_code_controller.rb +16 -0
  237. data/features/fixtures/rails5/app/app/controllers/send_environment_controller.rb +8 -0
  238. data/features/fixtures/rails5/app/app/controllers/session_tracking_controller.rb +16 -0
  239. data/features/fixtures/rails5/app/app/controllers/unhandled_controller.rb +7 -0
  240. data/features/fixtures/rails5/app/app/helpers/application_helper.rb +2 -0
  241. data/features/fixtures/rails5/app/app/jobs/application_job.rb +2 -0
  242. data/features/fixtures/rails5/app/app/mailers/application_mailer.rb +4 -0
  243. data/features/fixtures/rails5/app/app/models/application_record.rb +3 -0
  244. data/features/fixtures/rails5/app/app/models/concerns/.keep +0 -0
  245. data/features/fixtures/rails5/app/app/models/user.rb +3 -0
  246. data/features/fixtures/rails5/app/app/views/layouts/application.html.erb +14 -0
  247. data/features/fixtures/rails5/app/app/views/layouts/mailer.html.erb +13 -0
  248. data/features/fixtures/rails5/app/app/views/layouts/mailer.text.erb +1 -0
  249. data/features/fixtures/rails5/app/config.ru +5 -0
  250. data/features/fixtures/rails5/app/config/application.rb +15 -0
  251. data/features/fixtures/rails5/app/config/boot.rb +3 -0
  252. data/features/fixtures/rails5/app/config/cable.yml +9 -0
  253. data/features/fixtures/rails5/app/config/database.yml +29 -0
  254. data/features/fixtures/rails5/app/config/environment.rb +5 -0
  255. data/features/fixtures/rails5/app/config/environments/development.rb +55 -0
  256. data/features/fixtures/rails5/app/config/environments/production.rb +87 -0
  257. data/features/fixtures/rails5/app/config/environments/rails_env.rb +55 -0
  258. data/features/fixtures/rails5/app/config/environments/test.rb +55 -0
  259. data/features/fixtures/rails5/app/config/initializers/assets.rb +11 -0
  260. data/features/fixtures/rails5/app/config/initializers/backtrace_silencers.rb +7 -0
  261. data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +14 -0
  262. data/features/fixtures/rails5/app/config/initializers/clearance.rb +5 -0
  263. data/features/fixtures/rails5/app/config/initializers/cookies_serializer.rb +5 -0
  264. data/features/fixtures/rails5/app/config/initializers/filter_parameter_logging.rb +5 -0
  265. data/features/fixtures/rails5/app/config/initializers/inflections.rb +16 -0
  266. data/features/fixtures/rails5/app/config/initializers/mime_types.rb +4 -0
  267. data/features/fixtures/rails5/app/config/initializers/new_framework_defaults.rb +24 -0
  268. data/features/fixtures/rails5/app/config/initializers/session_store.rb +3 -0
  269. data/features/fixtures/rails5/app/config/initializers/wrap_parameters.rb +14 -0
  270. data/features/fixtures/rails5/app/config/locales/devise.en.yml +64 -0
  271. data/features/fixtures/rails5/app/config/locales/en.yml +23 -0
  272. data/features/fixtures/rails5/app/config/puma.rb +47 -0
  273. data/features/fixtures/rails5/app/config/routes.rb +52 -0
  274. data/features/fixtures/rails5/app/config/secrets.yml +25 -0
  275. data/features/fixtures/rails5/app/config/spring.rb +6 -0
  276. data/features/fixtures/rails5/app/db/migrate/20180426095545_create_users.rb +17 -0
  277. data/features/fixtures/rails5/app/db/schema.rb +29 -0
  278. data/features/fixtures/rails5/app/db/seeds.rb +7 -0
  279. data/features/fixtures/rails5/app/lib/assets/.keep +0 -0
  280. data/features/fixtures/rails5/app/lib/tasks/.keep +0 -0
  281. data/features/fixtures/rails5/app/log/.keep +0 -0
  282. data/features/fixtures/rails5/app/public/404.html +67 -0
  283. data/features/fixtures/rails5/app/public/422.html +67 -0
  284. data/features/fixtures/rails5/app/public/500.html +66 -0
  285. data/features/fixtures/rails5/app/public/apple-touch-icon-precomposed.png +0 -0
  286. data/features/fixtures/rails5/app/public/apple-touch-icon.png +0 -0
  287. data/features/fixtures/rails5/app/public/favicon.ico +0 -0
  288. data/features/fixtures/rails5/app/public/robots.txt +5 -0
  289. data/features/fixtures/rails5/app/test/controllers/.keep +0 -0
  290. data/features/fixtures/rails5/app/test/fixtures/.keep +0 -0
  291. data/features/fixtures/rails5/app/test/fixtures/files/.keep +0 -0
  292. data/features/fixtures/rails5/app/test/helpers/.keep +0 -0
  293. data/features/fixtures/rails5/app/test/integration/.keep +0 -0
  294. data/features/fixtures/rails5/app/test/mailers/.keep +0 -0
  295. data/features/fixtures/rails5/app/test/models/.keep +0 -0
  296. data/features/fixtures/rails5/app/test/test_helper.rb +10 -0
  297. data/features/fixtures/rails5/app/tmp/.keep +0 -0
  298. data/features/fixtures/resque/.dockerignore +1 -0
  299. data/features/fixtures/resque/Dockerfile +13 -0
  300. data/features/fixtures/resque/Gemfile +6 -0
  301. data/features/fixtures/resque/Rakefile +4 -0
  302. data/features/fixtures/resque/app.rb +12 -0
  303. data/features/fixtures/sidekiq/.dockerignore +2 -0
  304. data/features/fixtures/sidekiq/Dockerfile +17 -0
  305. data/features/fixtures/sidekiq/app/Gemfile +4 -0
  306. data/features/fixtures/sidekiq/app/app.rb +35 -0
  307. data/features/fixtures/sidekiq/app/initializers/HandledError.rb +3 -0
  308. data/features/fixtures/sidekiq/app/initializers/UnhandledError.rb +3 -0
  309. data/features/fixtures/sidekiq/payloads/handled_metadata_ca_false.json +11 -0
  310. data/features/fixtures/sidekiq/payloads/handled_metadata_ca_true.json +12 -0
  311. data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_false.json +11 -0
  312. data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_true.json +12 -0
  313. data/features/fixtures/sinatra1/.dockerignore +1 -0
  314. data/features/fixtures/sinatra1/Dockerfile +12 -0
  315. data/features/fixtures/sinatra1/Gemfile +4 -0
  316. data/features/fixtures/sinatra1/app.rb +9 -0
  317. data/features/fixtures/sinatra2/.dockerignore +1 -0
  318. data/features/fixtures/sinatra2/Dockerfile +12 -0
  319. data/features/fixtures/sinatra2/Gemfile +4 -0
  320. data/features/fixtures/sinatra2/app.rb +9 -0
  321. data/features/plain_features/add_tab.feature +124 -0
  322. data/features/plain_features/api_key.feature +26 -0
  323. data/features/plain_features/app_type.feature +29 -0
  324. data/features/plain_features/app_version.feature +29 -0
  325. data/features/plain_features/auto_notify.feature +25 -0
  326. data/features/plain_features/delivery.feature +70 -0
  327. data/features/plain_features/exception_data.feature +122 -0
  328. data/features/plain_features/filters.feature +50 -0
  329. data/features/plain_features/handled_errors.feature +86 -0
  330. data/features/plain_features/ignore_classes.feature +31 -0
  331. data/features/plain_features/ignore_report.feature +32 -0
  332. data/features/plain_features/proxies.feature +70 -0
  333. data/features/plain_features/release_stages.feature +53 -0
  334. data/features/plain_features/report_api_key.feature +42 -0
  335. data/features/plain_features/report_severity.feature +44 -0
  336. data/features/plain_features/report_stack_frames.feature +84 -0
  337. data/features/plain_features/report_user.feature +120 -0
  338. data/features/plain_features/unhandled_errors.feature +106 -0
  339. data/features/rails_features/api_key.feature +59 -0
  340. data/features/rails_features/app_type.feature +67 -0
  341. data/features/rails_features/app_version.feature +84 -0
  342. data/features/rails_features/auto_capture_sessions.feature +61 -0
  343. data/features/rails_features/auto_notify.feature +114 -0
  344. data/features/rails_features/before_notify.feature +106 -0
  345. data/features/rails_features/handled.feature +103 -0
  346. data/features/rails_features/ignore_classes.feature +51 -0
  347. data/features/rails_features/meta_data_filters.feature +39 -0
  348. data/features/rails_features/project_root.feature +97 -0
  349. data/features/rails_features/release_stage.feature +86 -0
  350. data/features/rails_features/send_code.feature +58 -0
  351. data/features/rails_features/send_environment.feature +38 -0
  352. data/features/rails_features/unhandled.feature +40 -0
  353. data/features/rails_features/user_info.feature +88 -0
  354. data/features/sidekiq.feature +96 -0
  355. data/features/steps/ruby_notifier_steps.rb +77 -0
  356. data/features/support/env.rb +29 -0
  357. data/lib/bugsnag.rb +26 -0
  358. data/lib/bugsnag/helpers.rb +69 -7
  359. data/lib/bugsnag/integrations/delayed_job.rb +2 -2
  360. data/lib/bugsnag/integrations/railtie.rb +0 -17
  361. data/lib/bugsnag/stacktrace.rb +1 -0
  362. data/spec/bugsnag_spec.rb +56 -0
  363. data/spec/configuration_spec.rb +1 -0
  364. data/spec/fixtures/apps/rails-initializer-config/Gemfile +1 -0
  365. data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +1 -0
  366. data/spec/fixtures/apps/rails-no-config/Gemfile +1 -0
  367. data/spec/helper_spec.rb +77 -91
  368. data/spec/report_spec.rb +9 -11
  369. metadata +352 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d0486c226a185af8162d31b64d545d235624e887
4
- data.tar.gz: 1d29c838c3d026601bdc9f4c4b574338b3fe4635
2
+ SHA256:
3
+ metadata.gz: f8882dc5d19d25ae75a753fa792ea78b11a560d4a243476da2c83d1d4a305398
4
+ data.tar.gz: 2ea9b4a31d64680adb7da9bc9d263bdae884bd73809104afb9f95e191b8f745f
5
5
  SHA512:
6
- metadata.gz: c7f23e849d19e4a8a92b8bc86900ea15d1f1c3651641398d961b765fb402ceaa466d3c097179df092c1628746ce6e723ba409dc2a6481ecba3acf4915610b5a3
7
- data.tar.gz: f88ac4656275a100c8de76758c836fb75c336f5ba882d1ece6cbf81fc4cb4bdc4bcee9065df7781519122530581ba2310c503c041dc5bbb64ffa16ec960895ab
6
+ metadata.gz: 7eafa6a7c6fad28e286a108b0886459197a7d835a705adb27982d50c66a68c45309b18ca068a4ee7d8c7c61e9df1e80de7f77c5cd548793a5349faf6a155e7dd
7
+ data.tar.gz: 65d479960f64808cc316a3a95c143cdb8e349e0a7b2ec2b91bd3ad2a9a4f772731e00eb0074b5802f15138e365d3cc99ef640f73c6566ba8e7c0dce32d259f41
data/.gitignore CHANGED
@@ -50,3 +50,6 @@ vendor
50
50
  # For rubinius:
51
51
  #*.rbc
52
52
  bin
53
+
54
+ # For Bugsnag-Maze-Runner:
55
+ maze_output
@@ -301,7 +301,9 @@ Metrics/MethodLength:
301
301
  # Offense count: 1
302
302
  # Configuration parameters: CountComments.
303
303
  Metrics/ModuleLength:
304
- Max: 111
304
+ Max: 125
305
+ Exclude:
306
+ - 'lib/bugsnag/helpers.rb'
305
307
 
306
308
  # Offense count: 11
307
309
  Metrics/PerceivedComplexity:
@@ -56,6 +56,46 @@ jobs:
56
56
  - GEMSETS="test rubocop"
57
57
  rvm: 2.4.1
58
58
  script: bundle exec ./bin/rubocop lib/
59
+ # - stage: test
60
+ # addons:
61
+ # apt:
62
+ # packages:
63
+ # - docker-ce
64
+ # sudo: required
65
+ # sevices:
66
+ # - docker
67
+ # env:
68
+ # - BUNDLE_VERSION=1.12.0
69
+ # - GEMSETS="test maze"
70
+ # rmv: 2.4.1
71
+ # script: bundle exec bugsnag-maze-runner -c features/plain_features
72
+ # - stage: test
73
+ # addons:
74
+ # apt:
75
+ # packages:
76
+ # - docker-ce
77
+ # sudo: required
78
+ # sevices:
79
+ # - docker
80
+ # env:
81
+ # - BUNDLE_VERSION=1.12.0
82
+ # - GEMSETS="test maze"
83
+ # rmv: 2.4.1
84
+ # script: bundle exec bugsnag-maze-runner -c features/sidekiq.feature
85
+ # - stage: test
86
+ # addons:
87
+ # apt:
88
+ # packages:
89
+ # - docker-ce
90
+ # sudo: required
91
+ # sevices:
92
+ # - docker
93
+ # env:
94
+ # - BUNDLE_VERSION=1.12.0
95
+ # - GEMSETS="test maze"
96
+ # - MAX_MAZE_CONNECT_ATTEMPTS=20
97
+ # rmv: 2.4.1
98
+ # script: bundle exec bugsnag-maze-runner -c features/rails_features
59
99
  - stage: deploy
60
100
  env:
61
101
  - BUNDLE_VERSION=1.12.0
@@ -1,6 +1,28 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## 6.8.0 (11 Jul 2018)
5
+
6
+ This release includes general performance improvements to payload trimming and
7
+ filtering.
8
+
9
+ ### Enhancements
10
+
11
+ * Capture unexpected app terminations automatically with `at_exit`
12
+ | [#397](https://github.com/bugsnag/bugsnag-ruby/pull/397)
13
+ | [Alex Moinet](https://github.com/Cawllec)
14
+
15
+ * (DelayedJob) Improve max attempts handling - If the max attempts method
16
+ returns nil it should fallback to `Delayed::Worker.max_attempts`
17
+ | [#471](https://github.com/bugsnag/bugsnag-ruby/pull/471)
18
+ | [Johnny Shields](https://github.com/johnnyshields)
19
+
20
+ * Increase payload size limit to 512kb (from 256kb)
21
+ | [#431](https://github.com/bugsnag/bugsnag-ruby/pull/431)
22
+ | [Alex Moinet](https://github.com/Cawllec)
23
+
24
+ ### Fixes
25
+
4
26
  ## 6.7.3 (18 May 2018)
5
27
 
6
28
  ### Fixes
data/Gemfile CHANGED
@@ -12,20 +12,25 @@ group :test, optional: true do
12
12
  end
13
13
 
14
14
  group :coverage, optional: true do
15
- gem 'simplecov'
16
- gem 'coveralls'
15
+ gem 'simplecov'
16
+ gem 'coveralls'
17
17
  end
18
18
 
19
19
  group :rubocop, optional: true do
20
- gem 'rubocop', '~> 0.52.1'
20
+ gem 'rubocop', '~> 0.52.1'
21
21
  end
22
22
 
23
23
  group :sidekiq, optional: true do
24
- gem 'sidekiq', '~> 5.0.4'
24
+ gem 'sidekiq', '~> 5.0.4'
25
25
  end
26
26
 
27
27
  group :doc, optional: true do
28
28
  gem 'hanna-nouveau'
29
29
  end
30
30
 
31
+ group :maze, optional: true do
32
+ gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner' if RUBY_VERSION >= '2.0.0'
33
+ gem 'os'
34
+ end
35
+
31
36
  gemspec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.7.3
1
+ 6.8.0
@@ -0,0 +1 @@
1
+ Gemfile.lock
@@ -0,0 +1,12 @@
1
+ ARG ruby_version
2
+ FROM ruby:$ruby_version
3
+
4
+ RUN mkdir -p /usr/src/app
5
+ WORKDIR /usr/src/app
6
+
7
+ COPY Gemfile /usr/src/app/
8
+ RUN bundle install
9
+
10
+ COPY . /usr/src/app
11
+
12
+ CMD ["bundle", "exec", "rails", "s", "-b", "0.0.0.0"]
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'bugsnag'
4
+ gem 'delayed_job'
@@ -0,0 +1,247 @@
1
+ version: '3.4'
2
+ services:
3
+ # dep for job systems
4
+ redis:
5
+ image: redis
6
+
7
+ plain-ruby:
8
+ build:
9
+ context: plain
10
+ args:
11
+ - RUBY_VERSION
12
+ - APP_PATH
13
+ environment:
14
+ - BUGSNAG_API_KEY
15
+ - http_proxy
16
+ - https_proxy
17
+ - MAZE_API_KEY
18
+ - MAZE_APP_TYPE
19
+ - MAZE_APP_VERSION
20
+ - MAZE_AUTO_CAPTURE_SESSIONS
21
+ - MAZE_AUTO_NOTIFY
22
+ - MAZE_ENDPOINT
23
+ - MAZE_IGNORE_CLASS
24
+ - MAZE_IGNORE_MESSAGE
25
+ - MAZE_META_DATA_FILTERS
26
+ - MAZE_NOTIFY_RELEASE_STAGE
27
+ - MAZE_PROJECT_ROOT
28
+ - MAZE_PROXY_HOST
29
+ - MAZE_PROXY_PASSWORD
30
+ - MAZE_PROXY_PORT
31
+ - MAZE_PROXY_USER
32
+ - MAZE_RELEASE_STAGE
33
+ - MAZE_SEND_CODE
34
+ - MAZE_SEND_ENVIRONMENT
35
+ - MAZE_SESSION_ENDPOINT
36
+ - MAZE_TIMEOUT
37
+ - CALLBACK_INITIATOR
38
+ restart: "no"
39
+
40
+ delayed_job:
41
+ build:
42
+ context: delayed_job
43
+ args:
44
+ ruby_version: 2.0
45
+ depends_on:
46
+ - redis
47
+ environment:
48
+ - endpoint
49
+ restart: "no"
50
+
51
+ rack1:
52
+ build:
53
+ context: rack1
54
+ args:
55
+ - ruby_version
56
+ environment:
57
+ - endpoint
58
+ ports:
59
+ - "3001:3000"
60
+ restart: "no"
61
+ rack2:
62
+ build:
63
+ context: rack2
64
+ args:
65
+ - ruby_version
66
+ environment:
67
+ - endpoint
68
+ ports:
69
+ - "3002:3000"
70
+ restart: "no"
71
+
72
+ rails3:
73
+ build:
74
+ context: rails3
75
+ args:
76
+ - RUBY_VERSION
77
+ - APP_PATH
78
+ environment:
79
+ - BUGSNAG_API_KEY
80
+ - http_proxy
81
+ - RAILS_ENV
82
+ - MAZE_API_KEY
83
+ - MAZE_APP_TYPE
84
+ - MAZE_APP_VERSION
85
+ - MAZE_AUTO_CAPTURE_SESSIONS
86
+ - MAZE_AUTO_NOTIFY
87
+ - MAZE_ENDPOINT
88
+ - MAZE_IGNORE_CLASS
89
+ - MAZE_IGNORE_MESSAGE
90
+ - MAZE_META_DATA_FILTERS
91
+ - MAZE_NOTIFY_RELEASE_STAGE
92
+ - MAZE_PROJECT_ROOT
93
+ - MAZE_PROXY_HOST
94
+ - MAZE_PROXY_PASSWORD
95
+ - MAZE_PROXY_PORT
96
+ - MAZE_PROXY_USER
97
+ - MAZE_RELEASE_STAGE
98
+ - MAZE_SEND_CODE
99
+ - MAZE_SEND_ENVIRONMENT
100
+ - MAZE_SESSION_ENDPOINT
101
+ - MAZE_TIMEOUT
102
+ - CALLBACK_INITIATOR
103
+ ports:
104
+ - target: 3000
105
+ published: 61283
106
+ restart: "no"
107
+
108
+ rails4:
109
+ build:
110
+ context: rails4
111
+ args:
112
+ - RUBY_VERSION
113
+ - APP_PATH
114
+ environment:
115
+ - BUGSNAG_API_KEY
116
+ - http_proxy
117
+ - RAILS_ENV
118
+ - MAZE_API_KEY
119
+ - MAZE_APP_TYPE
120
+ - MAZE_APP_VERSION
121
+ - MAZE_AUTO_CAPTURE_SESSIONS
122
+ - MAZE_AUTO_NOTIFY
123
+ - MAZE_ENDPOINT
124
+ - MAZE_IGNORE_CLASS
125
+ - MAZE_IGNORE_MESSAGE
126
+ - MAZE_META_DATA_FILTERS
127
+ - MAZE_NOTIFY_RELEASE_STAGE
128
+ - MAZE_PROJECT_ROOT
129
+ - MAZE_PROXY_HOST
130
+ - MAZE_PROXY_PASSWORD
131
+ - MAZE_PROXY_PORT
132
+ - MAZE_PROXY_USER
133
+ - MAZE_RELEASE_STAGE
134
+ - MAZE_SEND_CODE
135
+ - MAZE_SEND_ENVIRONMENT
136
+ - MAZE_SESSION_ENDPOINT
137
+ - MAZE_TIMEOUT
138
+ - CALLBACK_INITIATOR
139
+ ports:
140
+ - target: 3000
141
+ published: 61284
142
+ restart: "no"
143
+
144
+ rails5:
145
+ build:
146
+ context: rails5
147
+ args:
148
+ - RUBY_VERSION
149
+ - APP_PATH
150
+ environment:
151
+ - BUGSNAG_API_KEY
152
+ - http_proxy
153
+ - RAILS_ENV
154
+ - MAZE_API_KEY
155
+ - MAZE_APP_TYPE
156
+ - MAZE_APP_VERSION
157
+ - MAZE_AUTO_CAPTURE_SESSIONS
158
+ - MAZE_AUTO_NOTIFY
159
+ - MAZE_ENDPOINT
160
+ - MAZE_IGNORE_CLASS
161
+ - MAZE_IGNORE_MESSAGE
162
+ - MAZE_META_DATA_FILTERS
163
+ - MAZE_NOTIFY_RELEASE_STAGE
164
+ - MAZE_PROJECT_ROOT
165
+ - MAZE_PROXY_HOST
166
+ - MAZE_PROXY_PASSWORD
167
+ - MAZE_PROXY_PORT
168
+ - MAZE_PROXY_USER
169
+ - MAZE_RELEASE_STAGE
170
+ - MAZE_SEND_CODE
171
+ - MAZE_SEND_ENVIRONMENT
172
+ - MAZE_SESSION_ENDPOINT
173
+ - MAZE_TIMEOUT
174
+ - CALLBACK_INITIATOR
175
+ ports:
176
+ - target: 3000
177
+ published: 61285
178
+ restart: "no"
179
+
180
+ resque:
181
+ build:
182
+ context: resque
183
+ args:
184
+ - RUBY_VERSION
185
+ - APP_PATH
186
+ depends_on:
187
+ - redis
188
+ environment:
189
+ - endpoint
190
+ restart: "no"
191
+
192
+ sidekiq:
193
+ build:
194
+ context: sidekiq
195
+ args:
196
+ - RUBY_VERSION
197
+ - APP_PATH
198
+ - SIDEKIQ_VERSION
199
+ depends_on:
200
+ - redis
201
+ environment:
202
+ - BUGSNAG_API_KEY
203
+ - http_proxy
204
+ - MAZE_API_KEY
205
+ - MAZE_APP_TYPE
206
+ - MAZE_APP_VERSION
207
+ - MAZE_AUTO_CAPTURE_SESSIONS
208
+ - MAZE_AUTO_NOTIFY
209
+ - MAZE_ENDPOINT
210
+ - MAZE_IGNORE_CLASS
211
+ - MAZE_IGNORE_MESSAGE
212
+ - MAZE_META_DATA_FILTERS
213
+ - MAZE_NOTIFY_RELEASE_STAGE
214
+ - MAZE_PROJECT_ROOT
215
+ - MAZE_PROXY_HOST
216
+ - MAZE_PROXY_PASSWORD
217
+ - MAZE_PROXY_PORT
218
+ - MAZE_PROXY_USER
219
+ - MAZE_RELEASE_STAGE
220
+ - MAZE_SEND_CODE
221
+ - MAZE_SEND_ENVIRONMENT
222
+ - MAZE_SESSION_ENDPOINT
223
+ - MAZE_TIMEOUT
224
+ - CALLBACK_INITIATOR
225
+ restart: "no"
226
+
227
+ sinatra1:
228
+ build:
229
+ context: sinatra1
230
+ args:
231
+ - ruby_version
232
+ environment:
233
+ - endpoint
234
+ ports:
235
+ - "3006:3000"
236
+ restart: "no"
237
+
238
+ sinatra2:
239
+ build:
240
+ context: sinatra2
241
+ args:
242
+ - ruby_version
243
+ environment:
244
+ - endpoint
245
+ ports:
246
+ - "3007:3000"
247
+ restart: "no"
@@ -0,0 +1,2 @@
1
+ Gemfile.lock
2
+ reportExamples
@@ -0,0 +1,12 @@
1
+ ARG RUBY_VERSION
2
+ FROM ruby:$RUBY_VERSION
3
+
4
+ ARG APP_PATH
5
+
6
+ RUN mkdir -p $APP_PATH
7
+ WORKDIR $APP_PATH
8
+
9
+ COPY app/Gemfile $APP_PATH
10
+ RUN bundle install
11
+
12
+ COPY app $APP_PATH
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'bugsnag'
@@ -0,0 +1,40 @@
1
+ require 'bugsnag'
2
+ require 'pp'
3
+
4
+ def configure_basics
5
+ Bugsnag.configure do |conf|
6
+ conf.api_key = ENV['MAZE_API_KEY']
7
+ conf.endpoint = ENV['MAZE_ENDPOINT']
8
+ conf.session_endpoint = ENV["MAZE_SESSION_ENDPOINT"] if ENV.include? "MAZE_SESSION_ENDPOINT"
9
+ end
10
+ end
11
+
12
+ def configure_using_environment
13
+ pp ENV
14
+ Bugsnag.configure do |conf|
15
+ conf.app_type = ENV["MAZE_APP_TYPE"] if ENV.include? "MAZE_APP_TYPE"
16
+ conf.app_version = ENV["MAZE_APP_VERSION"] if ENV.include? "MAZE_APP_VERSION"
17
+ conf.auto_capture_sessions = ENV["MAZE_AUTO_CAPTURE_SESSIONS"] != "false"
18
+ conf.auto_notify = ENV["MAZE_AUTO_NOTIFY"] != "false"
19
+ conf.ignore_classes << lambda { |ex| ex.class.to_s == ENV["MAZE_IGNORE_CLASS"] } if ENV.include? "MAZE_IGNORE_CLASS"
20
+ conf.meta_data_filters << ENV["MAZE_META_DATA_FILTERS"] if ENV.include? "MAZE_META_DATA_FILTERS"
21
+ conf.notify_release_stages = [ENV["MAZE_NOTIFY_RELEASE_STAGE"]] if ENV.include? "MAZE_NOTIFY_RELEASE_STAGE"
22
+ conf.project_root = ENV["MAZE_PROJECT_ROOT"] if ENV.include? "MAZE_PROJECT_ROOT"
23
+ conf.proxy_host = ENV["MAZE_PROXY_HOST"] if ENV.include? "MAZE_PROXY_HOST"
24
+ conf.proxy_password = ENV["MAZE_PROXY_PASSWORD"] if ENV.include? "MAZE_PROXY_PASSWORD"
25
+ conf.proxy_port = ENV["MAZE_PROXY_PORT"] if ENV.include? "MAZE_PROXY_PORT"
26
+ conf.proxy_user = ENV["MAZE_PROXY_USER"] if ENV.include? "MAZE_PROXY_USER"
27
+ conf.release_stage = ENV["MAZE_RELEASE_STAGE"] if ENV.include? "MAZE_RELEASE_STAGE"
28
+ conf.send_environment = ENV["MAZE_SEND_ENVIRONMENT"] != "false"
29
+ conf.send_code = ENV["MAZE_SEND_CODE"] != "false"
30
+ conf.timeout = ENV["MAZE_TIMEOUT"] if ENV.include? "MAZE_TIMEOUT"
31
+ end
32
+ end
33
+
34
+ def add_at_exit
35
+ at_exit do
36
+ if $!
37
+ Bugsnag.notify($!, true)
38
+ end
39
+ end
40
+ end