bugsnag 6.15.0 → 6.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +12 -0
- data/CHANGELOG.md +289 -0
- data/README.md +1 -2
- data/VERSION +1 -1
- data/bugsnag.gemspec +19 -2
- data/lib/bugsnag/breadcrumb_type.rb +14 -0
- data/lib/bugsnag/breadcrumbs/breadcrumb.rb +35 -2
- data/lib/bugsnag/breadcrumbs/breadcrumbs.rb +1 -0
- data/lib/bugsnag/breadcrumbs/on_breadcrumb_callback_list.rb +48 -0
- data/lib/bugsnag/breadcrumbs/validator.rb +0 -24
- data/lib/bugsnag/cleaner.rb +70 -29
- data/lib/bugsnag/configuration.rb +445 -47
- data/lib/bugsnag/delivery/synchronous.rb +3 -4
- data/lib/bugsnag/delivery/thread_queue.rb +18 -5
- data/lib/bugsnag/endpoint_configuration.rb +11 -0
- data/lib/bugsnag/endpoint_validator.rb +80 -0
- data/lib/bugsnag/error.rb +25 -0
- data/lib/bugsnag/event.rb +5 -0
- data/lib/bugsnag/feature_flag.rb +74 -0
- data/lib/bugsnag/helpers.rb +17 -9
- data/lib/bugsnag/integrations/delayed_job.rb +13 -1
- data/lib/bugsnag/integrations/mailman.rb +2 -1
- data/lib/bugsnag/integrations/mongo.rb +5 -4
- data/lib/bugsnag/integrations/que.rb +2 -1
- data/lib/bugsnag/integrations/rack.rb +6 -4
- data/lib/bugsnag/integrations/rails/active_job.rb +100 -0
- data/lib/bugsnag/integrations/rails/rails_breadcrumbs.rb +2 -2
- data/lib/bugsnag/integrations/railtie.rb +93 -35
- data/lib/bugsnag/integrations/rake.rb +8 -3
- data/lib/bugsnag/integrations/resque.rb +30 -9
- data/lib/bugsnag/integrations/shoryuken.rb +2 -1
- data/lib/bugsnag/integrations/sidekiq.rb +3 -3
- data/lib/bugsnag/middleware/active_job.rb +18 -0
- data/lib/bugsnag/middleware/classify_error.rb +1 -0
- data/lib/bugsnag/middleware/delayed_job.rb +21 -1
- data/lib/bugsnag/middleware/exception_meta_data.rb +2 -0
- data/lib/bugsnag/middleware/rack_request.rb +103 -20
- data/lib/bugsnag/middleware/rails3_request.rb +2 -2
- data/lib/bugsnag/middleware/rake.rb +1 -1
- data/lib/bugsnag/middleware/session_data.rb +3 -1
- data/lib/bugsnag/middleware/sidekiq.rb +1 -1
- data/lib/bugsnag/middleware/suggestion_data.rb +9 -7
- data/lib/bugsnag/middleware/warden_user.rb +3 -0
- data/lib/bugsnag/middleware_stack.rb +6 -6
- data/lib/bugsnag/report.rb +292 -8
- data/lib/bugsnag/session_tracker.rb +52 -12
- data/lib/bugsnag/stacktrace.rb +14 -3
- data/lib/bugsnag/tasks/bugsnag.rake +1 -1
- data/lib/bugsnag/utility/duplicator.rb +124 -0
- data/lib/bugsnag/utility/feature_data_store.rb +41 -0
- data/lib/bugsnag/utility/feature_flag_delegate.rb +89 -0
- data/lib/bugsnag/utility/metadata_delegate.rb +102 -0
- data/lib/bugsnag.rb +256 -37
- metadata +25 -635
- data/.buildkite/pipeline.yml +0 -470
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -84
- data/.gitignore +0 -55
- data/.rdoc_options +0 -27
- data/.rspec +0 -3
- data/.rubocop.yml +0 -57
- data/.rubocop_todo.yml +0 -1049
- data/CONTRIBUTING.md +0 -64
- data/Gemfile +0 -50
- data/Rakefile +0 -37
- data/TESTING.md +0 -81
- data/UPGRADING.md +0 -91
- data/docker-compose.yml +0 -46
- data/dockerfiles/Dockerfile.jruby-unit-tests +0 -13
- data/dockerfiles/Dockerfile.ruby-maze-runner +0 -26
- data/dockerfiles/Dockerfile.ruby-unit-tests +0 -12
- data/features/.gitignore +0 -1
- data/features/delayed_job.feature +0 -36
- data/features/fixtures/delayed_job/Dockerfile +0 -15
- data/features/fixtures/delayed_job/app/.gitignore +0 -21
- data/features/fixtures/delayed_job/app/Gemfile +0 -57
- data/features/fixtures/delayed_job/app/README.md +0 -24
- data/features/fixtures/delayed_job/app/Rakefile +0 -24
- data/features/fixtures/delayed_job/app/app/assets/config/manifest.js +0 -3
- data/features/fixtures/delayed_job/app/app/assets/images/.keep +0 -0
- data/features/fixtures/delayed_job/app/app/assets/javascripts/application.js +0 -16
- data/features/fixtures/delayed_job/app/app/assets/javascripts/cable.js +0 -13
- data/features/fixtures/delayed_job/app/app/assets/javascripts/channels/.keep +0 -0
- data/features/fixtures/delayed_job/app/app/assets/stylesheets/application.css +0 -15
- data/features/fixtures/delayed_job/app/app/channels/application_cable/channel.rb +0 -4
- data/features/fixtures/delayed_job/app/app/channels/application_cable/connection.rb +0 -4
- data/features/fixtures/delayed_job/app/app/controllers/application_controller.rb +0 -3
- data/features/fixtures/delayed_job/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/delayed_job/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/delayed_job/app/app/jobs/application_job.rb +0 -2
- data/features/fixtures/delayed_job/app/app/mailers/application_mailer.rb +0 -4
- data/features/fixtures/delayed_job/app/app/models/application_record.rb +0 -3
- data/features/fixtures/delayed_job/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/delayed_job/app/app/models/test_model.rb +0 -10
- data/features/fixtures/delayed_job/app/app/views/layouts/application.html.erb +0 -14
- data/features/fixtures/delayed_job/app/app/views/layouts/mailer.html.erb +0 -13
- data/features/fixtures/delayed_job/app/app/views/layouts/mailer.text.erb +0 -1
- data/features/fixtures/delayed_job/app/config/application.rb +0 -15
- data/features/fixtures/delayed_job/app/config/boot.rb +0 -3
- data/features/fixtures/delayed_job/app/config/cable.yml +0 -9
- data/features/fixtures/delayed_job/app/config/database.yml +0 -25
- data/features/fixtures/delayed_job/app/config/environment.rb +0 -5
- data/features/fixtures/delayed_job/app/config/environments/development.rb +0 -54
- data/features/fixtures/delayed_job/app/config/environments/production.rb +0 -86
- data/features/fixtures/delayed_job/app/config/environments/test.rb +0 -42
- data/features/fixtures/delayed_job/app/config/initializers/application_controller_renderer.rb +0 -8
- data/features/fixtures/delayed_job/app/config/initializers/assets.rb +0 -11
- data/features/fixtures/delayed_job/app/config/initializers/backtrace_silencers.rb +0 -7
- data/features/fixtures/delayed_job/app/config/initializers/bugsnag.rb +0 -14
- data/features/fixtures/delayed_job/app/config/initializers/cookies_serializer.rb +0 -5
- data/features/fixtures/delayed_job/app/config/initializers/delayed_job.rb +0 -3
- data/features/fixtures/delayed_job/app/config/initializers/filter_parameter_logging.rb +0 -4
- data/features/fixtures/delayed_job/app/config/initializers/inflections.rb +0 -16
- data/features/fixtures/delayed_job/app/config/initializers/mime_types.rb +0 -4
- data/features/fixtures/delayed_job/app/config/initializers/new_framework_defaults.rb +0 -26
- data/features/fixtures/delayed_job/app/config/initializers/session_store.rb +0 -3
- data/features/fixtures/delayed_job/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/delayed_job/app/config/locales/en.yml +0 -23
- data/features/fixtures/delayed_job/app/config/puma.rb +0 -47
- data/features/fixtures/delayed_job/app/config/routes.rb +0 -3
- data/features/fixtures/delayed_job/app/config/secrets.yml +0 -22
- data/features/fixtures/delayed_job/app/config/spring.rb +0 -6
- data/features/fixtures/delayed_job/app/config.ru +0 -5
- data/features/fixtures/delayed_job/app/db/migrate/20181024232549_create_delayed_jobs.rb +0 -22
- data/features/fixtures/delayed_job/app/db/migrate/20181024232817_create_test_models.rb +0 -8
- data/features/fixtures/delayed_job/app/db/schema.rb +0 -30
- data/features/fixtures/delayed_job/app/db/seeds.rb +0 -7
- data/features/fixtures/delayed_job/app/lib/assets/.keep +0 -0
- data/features/fixtures/delayed_job/app/lib/tasks/.keep +0 -0
- data/features/fixtures/delayed_job/app/log/.keep +0 -0
- data/features/fixtures/delayed_job/app/public/404.html +0 -67
- data/features/fixtures/delayed_job/app/public/422.html +0 -67
- data/features/fixtures/delayed_job/app/public/500.html +0 -66
- data/features/fixtures/delayed_job/app/public/apple-touch-icon-precomposed.png +0 -0
- data/features/fixtures/delayed_job/app/public/apple-touch-icon.png +0 -0
- data/features/fixtures/delayed_job/app/public/favicon.ico +0 -0
- data/features/fixtures/delayed_job/app/public/robots.txt +0 -5
- data/features/fixtures/delayed_job/app/test/controllers/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/fixtures/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/fixtures/files/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/fixtures/test_models.yml +0 -11
- data/features/fixtures/delayed_job/app/test/helpers/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/integration/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/mailers/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/models/.keep +0 -0
- data/features/fixtures/delayed_job/app/test/models/test_model_test.rb +0 -7
- data/features/fixtures/delayed_job/app/test/test_helper.rb +0 -10
- data/features/fixtures/delayed_job/app/tmp/.keep +0 -0
- data/features/fixtures/docker-compose.yml +0 -303
- data/features/fixtures/expected_breadcrumbs/active_job.json +0 -9
- data/features/fixtures/expected_breadcrumbs/mongo_failed.json +0 -15
- data/features/fixtures/expected_breadcrumbs/mongo_filtered_request.json +0 -15
- data/features/fixtures/expected_breadcrumbs/mongo_filtered_result.json +0 -15
- data/features/fixtures/expected_breadcrumbs/mongo_success.json +0 -14
- data/features/fixtures/expected_breadcrumbs/request.json +0 -13
- data/features/fixtures/expected_breadcrumbs/sql_with_bindings.json +0 -12
- data/features/fixtures/expected_breadcrumbs/sql_without_bindings.json +0 -11
- data/features/fixtures/plain/.dockerignore +0 -2
- data/features/fixtures/plain/Dockerfile +0 -11
- data/features/fixtures/plain/app/Gemfile +0 -3
- data/features/fixtures/plain/app/app.rb +0 -38
- data/features/fixtures/plain/app/configuration/api_key.rb +0 -9
- data/features/fixtures/plain/app/configuration/proxy.rb +0 -14
- data/features/fixtures/plain/app/configuration/send_handled.rb +0 -7
- data/features/fixtures/plain/app/configuration/send_unhandled.rb +0 -9
- data/features/fixtures/plain/app/delivery/fork_threadpool.rb +0 -27
- data/features/fixtures/plain/app/delivery/synchronous.rb +0 -14
- data/features/fixtures/plain/app/delivery/threadpool.rb +0 -14
- data/features/fixtures/plain/app/exception_data/crash.rb +0 -34
- data/features/fixtures/plain/app/exception_data/handled_context.rb +0 -10
- data/features/fixtures/plain/app/exception_data/handled_hash.rb +0 -10
- data/features/fixtures/plain/app/exception_data/handled_meta_data.rb +0 -10
- data/features/fixtures/plain/app/exception_data/handled_user_id.rb +0 -10
- data/features/fixtures/plain/app/exception_data/unhandled_context.rb +0 -7
- data/features/fixtures/plain/app/exception_data/unhandled_hash.rb +0 -7
- data/features/fixtures/plain/app/exception_data/unhandled_meta_data.rb +0 -7
- data/features/fixtures/plain/app/exception_data/unhandled_user_id.rb +0 -7
- data/features/fixtures/plain/app/filters/additional_filters.rb +0 -11
- data/features/fixtures/plain/app/filters/default_filters.rb +0 -15
- data/features/fixtures/plain/app/handled/block_metadata.rb +0 -15
- data/features/fixtures/plain/app/handled/ignore_exception.rb +0 -12
- data/features/fixtures/plain/app/handled/notify_exception.rb +0 -9
- data/features/fixtures/plain/app/handled/notify_string.rb +0 -9
- data/features/fixtures/plain/app/ignore_classes/handled.rb +0 -8
- data/features/fixtures/plain/app/ignore_classes/ignore_error.rb +0 -8
- data/features/fixtures/plain/app/ignore_classes/unhandled.rb +0 -4
- data/features/fixtures/plain/app/report_modification/add_tab.rb +0 -16
- data/features/fixtures/plain/app/report_modification/add_tab_existing.rb +0 -22
- data/features/fixtures/plain/app/report_modification/add_tab_override.rb +0 -19
- data/features/fixtures/plain/app/report_modification/ignore_report.rb +0 -9
- data/features/fixtures/plain/app/report_modification/initiators/handled_before_notify.rb +0 -10
- data/features/fixtures/plain/app/report_modification/initiators/handled_block.rb +0 -8
- data/features/fixtures/plain/app/report_modification/initiators/handled_on_error.rb +0 -10
- data/features/fixtures/plain/app/report_modification/initiators/unhandled_before_notify.rb +0 -11
- data/features/fixtures/plain/app/report_modification/initiators/unhandled_on_error.rb +0 -11
- data/features/fixtures/plain/app/report_modification/modify_api_key.rb +0 -9
- data/features/fixtures/plain/app/report_modification/modify_severity.rb +0 -9
- data/features/fixtures/plain/app/report_modification/remove_user_details.rb +0 -14
- data/features/fixtures/plain/app/report_modification/set_custom_user_details.rb +0 -16
- data/features/fixtures/plain/app/report_modification/set_user_details.rb +0 -13
- data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_before_notify.rb +0 -29
- data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_block.rb +0 -24
- data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_on_error.rb +0 -29
- data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_before_notify.rb +0 -26
- data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_on_error.rb +0 -26
- data/features/fixtures/plain/app/stack_frame_modification/mark_frames_in_project.rb +0 -13
- data/features/fixtures/plain/app/stack_frame_modification/remove_stack_frame.rb +0 -9
- data/features/fixtures/plain/app/unhandled/bad_syntax.rb +0 -1
- data/features/fixtures/plain/app/unhandled/custom_error.rb +0 -9
- data/features/fixtures/plain/app/unhandled/interrupt.rb +0 -6
- data/features/fixtures/plain/app/unhandled/load_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/local_jump_error.rb +0 -10
- data/features/fixtures/plain/app/unhandled/name_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/no_method_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/runtime_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/syntax_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/system_call_error.rb +0 -6
- data/features/fixtures/plain/app/unhandled/system_exit.rb +0 -6
- data/features/fixtures/plain/json/delivery_fork.json +0 -4
- data/features/fixtures/plain/json/delivery_synchronous.json +0 -4
- data/features/fixtures/plain/json/delivery_threadpool.json +0 -4
- data/features/fixtures/plain/json/filters_default_metadata_filters.json +0 -9
- data/features/fixtures/rack1/.dockerignore +0 -1
- data/features/fixtures/rack1/Dockerfile +0 -13
- data/features/fixtures/rack1/Gemfile +0 -4
- data/features/fixtures/rack1/app.rb +0 -8
- data/features/fixtures/rack2/.dockerignore +0 -1
- data/features/fixtures/rack2/Dockerfile +0 -13
- data/features/fixtures/rack2/Gemfile +0 -4
- data/features/fixtures/rack2/app.rb +0 -8
- data/features/fixtures/rails3/.dockerignore +0 -1
- data/features/fixtures/rails3/Dockerfile +0 -15
- data/features/fixtures/rails3/app/.gitignore +0 -15
- data/features/fixtures/rails3/app/Gemfile +0 -17
- data/features/fixtures/rails3/app/Rakefile +0 -7
- data/features/fixtures/rails3/app/app/assets/images/rails.png +0 -0
- data/features/fixtures/rails3/app/app/assets/javascripts/application.js +0 -15
- data/features/fixtures/rails3/app/app/assets/stylesheets/application.css +0 -13
- data/features/fixtures/rails3/app/app/controllers/api_key_controller.rb +0 -20
- data/features/fixtures/rails3/app/app/controllers/app_type_controller.rb +0 -20
- data/features/fixtures/rails3/app/app/controllers/app_version_controller.rb +0 -25
- data/features/fixtures/rails3/app/app/controllers/application_controller.rb +0 -7
- data/features/fixtures/rails3/app/app/controllers/auto_notify_controller.rb +0 -31
- data/features/fixtures/rails3/app/app/controllers/before_notify_controller.rb +0 -44
- data/features/fixtures/rails3/app/app/controllers/breadcrumbs_controller.rb +0 -19
- data/features/fixtures/rails3/app/app/controllers/handled_controller.rb +0 -26
- data/features/fixtures/rails3/app/app/controllers/ignore_classes_controller.rb +0 -23
- data/features/fixtures/rails3/app/app/controllers/metadata_filters_controller.rb +0 -16
- data/features/fixtures/rails3/app/app/controllers/project_root_controller.rb +0 -25
- data/features/fixtures/rails3/app/app/controllers/release_stage_controller.rb +0 -20
- data/features/fixtures/rails3/app/app/controllers/send_code_controller.rb +0 -20
- data/features/fixtures/rails3/app/app/controllers/send_environment_controller.rb +0 -12
- data/features/fixtures/rails3/app/app/controllers/session_tracking_controller.rb +0 -24
- data/features/fixtures/rails3/app/app/controllers/unhandled_controller.rb +0 -11
- data/features/fixtures/rails3/app/app/controllers/warden_controller.rb +0 -30
- data/features/fixtures/rails3/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/rails3/app/app/mailers/.gitkeep +0 -0
- data/features/fixtures/rails3/app/app/models/.gitkeep +0 -0
- data/features/fixtures/rails3/app/app/models/user.rb +0 -6
- data/features/fixtures/rails3/app/app/views/layouts/application.html.erb +0 -14
- data/features/fixtures/rails3/app/config/application.rb +0 -67
- data/features/fixtures/rails3/app/config/boot.rb +0 -6
- data/features/fixtures/rails3/app/config/database.yml +0 -31
- data/features/fixtures/rails3/app/config/environment.rb +0 -5
- data/features/fixtures/rails3/app/config/environments/development.rb +0 -37
- data/features/fixtures/rails3/app/config/environments/production.rb +0 -67
- data/features/fixtures/rails3/app/config/environments/rails_env.rb +0 -37
- data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +0 -29
- data/features/fixtures/rails3/app/config/initializers/secret_token.rb +0 -7
- data/features/fixtures/rails3/app/config/initializers/session_store.rb +0 -8
- data/features/fixtures/rails3/app/config/initializers/warden.rb +0 -3
- data/features/fixtures/rails3/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/rails3/app/config/locales/en.yml +0 -5
- data/features/fixtures/rails3/app/config/routes.rb +0 -19
- data/features/fixtures/rails3/app/config.ru +0 -4
- data/features/fixtures/rails3/app/db/migrate/20180423142727_create_users.rb +0 -45
- data/features/fixtures/rails3/app/db/schema.rb +0 -37
- data/features/fixtures/rails3/app/db/seeds.rb +0 -7
- data/features/fixtures/rails3/app/lib/assets/.gitkeep +0 -0
- data/features/fixtures/rails3/app/lib/strategies/token_strategy.rb +0 -12
- data/features/fixtures/rails3/app/lib/tasks/.gitkeep +0 -0
- data/features/fixtures/rails3/app/log/.gitkeep +0 -0
- data/features/fixtures/rails3/app/public/404.html +0 -26
- data/features/fixtures/rails3/app/public/422.html +0 -26
- data/features/fixtures/rails3/app/public/500.html +0 -25
- data/features/fixtures/rails3/app/public/favicon.ico +0 -0
- data/features/fixtures/rails3/app/public/index.html +0 -241
- data/features/fixtures/rails3/app/public/robots.txt +0 -5
- data/features/fixtures/rails3/app/script/rails +0 -6
- data/features/fixtures/rails4/.dockerignore +0 -1
- data/features/fixtures/rails4/Dockerfile +0 -17
- data/features/fixtures/rails4/app/.gitignore +0 -16
- data/features/fixtures/rails4/app/Gemfile +0 -46
- data/features/fixtures/rails4/app/README.rdoc +0 -28
- data/features/fixtures/rails4/app/Rakefile +0 -6
- data/features/fixtures/rails4/app/app/assets/images/.keep +0 -0
- data/features/fixtures/rails4/app/app/assets/javascripts/application.js +0 -16
- data/features/fixtures/rails4/app/app/assets/stylesheets/application.css +0 -13
- data/features/fixtures/rails4/app/app/controllers/api_key_controller.rb +0 -20
- data/features/fixtures/rails4/app/app/controllers/app_type_controller.rb +0 -20
- data/features/fixtures/rails4/app/app/controllers/app_version_controller.rb +0 -25
- data/features/fixtures/rails4/app/app/controllers/application_controller.rb +0 -7
- data/features/fixtures/rails4/app/app/controllers/auto_notify_controller.rb +0 -31
- data/features/fixtures/rails4/app/app/controllers/before_notify_controller.rb +0 -44
- data/features/fixtures/rails4/app/app/controllers/breadcrumbs_controller.rb +0 -26
- data/features/fixtures/rails4/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/rails4/app/app/controllers/devise_controller.rb +0 -32
- data/features/fixtures/rails4/app/app/controllers/handled_controller.rb +0 -26
- data/features/fixtures/rails4/app/app/controllers/ignore_classes_controller.rb +0 -23
- data/features/fixtures/rails4/app/app/controllers/metadata_filters_controller.rb +0 -16
- data/features/fixtures/rails4/app/app/controllers/mongo_controller.rb +0 -23
- data/features/fixtures/rails4/app/app/controllers/project_root_controller.rb +0 -25
- data/features/fixtures/rails4/app/app/controllers/release_stage_controller.rb +0 -20
- data/features/fixtures/rails4/app/app/controllers/send_code_controller.rb +0 -20
- data/features/fixtures/rails4/app/app/controllers/send_environment_controller.rb +0 -12
- data/features/fixtures/rails4/app/app/controllers/session_tracking_controller.rb +0 -24
- data/features/fixtures/rails4/app/app/controllers/unhandled_controller.rb +0 -11
- data/features/fixtures/rails4/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/rails4/app/app/jobs/application_job.rb +0 -2
- data/features/fixtures/rails4/app/app/jobs/notify_job.rb +0 -5
- data/features/fixtures/rails4/app/app/mailers/.keep +0 -0
- data/features/fixtures/rails4/app/app/models/.keep +0 -0
- data/features/fixtures/rails4/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/rails4/app/app/models/mongo_model.rb +0 -6
- data/features/fixtures/rails4/app/app/models/user.rb +0 -6
- data/features/fixtures/rails4/app/app/views/layouts/application.html.erb +0 -14
- data/features/fixtures/rails4/app/config/application.rb +0 -23
- data/features/fixtures/rails4/app/config/boot.rb +0 -4
- data/features/fixtures/rails4/app/config/database.yml +0 -31
- data/features/fixtures/rails4/app/config/environment.rb +0 -5
- data/features/fixtures/rails4/app/config/environments/development.rb +0 -31
- data/features/fixtures/rails4/app/config/environments/production.rb +0 -81
- data/features/fixtures/rails4/app/config/environments/rails_env.rb +0 -30
- data/features/fixtures/rails4/app/config/environments/test.rb +0 -31
- data/features/fixtures/rails4/app/config/initializers/backtrace_silencers.rb +0 -7
- data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +0 -29
- data/features/fixtures/rails4/app/config/initializers/devise.rb +0 -283
- data/features/fixtures/rails4/app/config/initializers/filter_parameter_logging.rb +0 -5
- data/features/fixtures/rails4/app/config/initializers/inflections.rb +0 -16
- data/features/fixtures/rails4/app/config/initializers/mime_types.rb +0 -5
- data/features/fixtures/rails4/app/config/initializers/secret_token.rb +0 -12
- data/features/fixtures/rails4/app/config/initializers/session_store.rb +0 -3
- data/features/fixtures/rails4/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/rails4/app/config/locales/devise.en.yml +0 -64
- data/features/fixtures/rails4/app/config/locales/en.yml +0 -23
- data/features/fixtures/rails4/app/config/mongoid.yml +0 -22
- data/features/fixtures/rails4/app/config/routes.rb +0 -21
- data/features/fixtures/rails4/app/config.ru +0 -4
- data/features/fixtures/rails4/app/db/migrate/20180420160315_devise_create_users.rb +0 -47
- data/features/fixtures/rails4/app/db/seeds.rb +0 -7
- data/features/fixtures/rails4/app/lib/assets/.keep +0 -0
- data/features/fixtures/rails4/app/lib/tasks/.keep +0 -0
- data/features/fixtures/rails4/app/log/.keep +0 -0
- data/features/fixtures/rails4/app/public/404.html +0 -58
- data/features/fixtures/rails4/app/public/422.html +0 -58
- data/features/fixtures/rails4/app/public/500.html +0 -57
- data/features/fixtures/rails4/app/public/favicon.ico +0 -0
- data/features/fixtures/rails4/app/public/robots.txt +0 -5
- data/features/fixtures/rails4/app/test/controllers/.keep +0 -0
- data/features/fixtures/rails4/app/test/fixtures/.keep +0 -0
- data/features/fixtures/rails4/app/test/helpers/.keep +0 -0
- data/features/fixtures/rails4/app/test/integration/.keep +0 -0
- data/features/fixtures/rails4/app/test/mailers/.keep +0 -0
- data/features/fixtures/rails4/app/test/models/.keep +0 -0
- data/features/fixtures/rails4/app/test/test_helper.rb +0 -15
- data/features/fixtures/rails5/.dockerignore +0 -1
- data/features/fixtures/rails5/Dockerfile +0 -17
- data/features/fixtures/rails5/app/.gitignore +0 -21
- data/features/fixtures/rails5/app/Gemfile +0 -52
- data/features/fixtures/rails5/app/README.md +0 -24
- data/features/fixtures/rails5/app/Rakefile +0 -6
- data/features/fixtures/rails5/app/app/assets/config/manifest.js +0 -3
- data/features/fixtures/rails5/app/app/assets/images/.keep +0 -0
- data/features/fixtures/rails5/app/app/assets/javascripts/application.js +0 -16
- data/features/fixtures/rails5/app/app/assets/javascripts/cable.js +0 -13
- data/features/fixtures/rails5/app/app/assets/javascripts/channels/.keep +0 -0
- data/features/fixtures/rails5/app/app/assets/stylesheets/application.css +0 -15
- data/features/fixtures/rails5/app/app/channels/application_cable/channel.rb +0 -4
- data/features/fixtures/rails5/app/app/channels/application_cable/connection.rb +0 -4
- data/features/fixtures/rails5/app/app/controllers/api_key_controller.rb +0 -16
- data/features/fixtures/rails5/app/app/controllers/app_type_controller.rb +0 -16
- data/features/fixtures/rails5/app/app/controllers/app_version_controller.rb +0 -21
- data/features/fixtures/rails5/app/app/controllers/application_controller.rb +0 -7
- data/features/fixtures/rails5/app/app/controllers/auto_notify_controller.rb +0 -27
- data/features/fixtures/rails5/app/app/controllers/before_notify_controller.rb +0 -40
- data/features/fixtures/rails5/app/app/controllers/breadcrumbs_controller.rb +0 -24
- data/features/fixtures/rails5/app/app/controllers/clearance_controller.rb +0 -33
- data/features/fixtures/rails5/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/rails5/app/app/controllers/handled_controller.rb +0 -22
- data/features/fixtures/rails5/app/app/controllers/ignore_classes_controller.rb +0 -19
- data/features/fixtures/rails5/app/app/controllers/metadata_filters_controller.rb +0 -12
- data/features/fixtures/rails5/app/app/controllers/mongo_controller.rb +0 -22
- data/features/fixtures/rails5/app/app/controllers/project_root_controller.rb +0 -21
- data/features/fixtures/rails5/app/app/controllers/release_stage_controller.rb +0 -16
- data/features/fixtures/rails5/app/app/controllers/send_code_controller.rb +0 -16
- data/features/fixtures/rails5/app/app/controllers/send_environment_controller.rb +0 -8
- data/features/fixtures/rails5/app/app/controllers/session_tracking_controller.rb +0 -20
- data/features/fixtures/rails5/app/app/controllers/unhandled_controller.rb +0 -7
- data/features/fixtures/rails5/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/rails5/app/app/jobs/application_job.rb +0 -2
- data/features/fixtures/rails5/app/app/jobs/notify_job.rb +0 -5
- data/features/fixtures/rails5/app/app/mailers/application_mailer.rb +0 -4
- data/features/fixtures/rails5/app/app/models/application_record.rb +0 -3
- data/features/fixtures/rails5/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/rails5/app/app/models/mongo_model.rb +0 -6
- data/features/fixtures/rails5/app/app/models/user.rb +0 -3
- data/features/fixtures/rails5/app/app/views/layouts/application.html.erb +0 -14
- data/features/fixtures/rails5/app/app/views/layouts/mailer.html.erb +0 -13
- data/features/fixtures/rails5/app/app/views/layouts/mailer.text.erb +0 -1
- data/features/fixtures/rails5/app/config/application.rb +0 -15
- data/features/fixtures/rails5/app/config/boot.rb +0 -3
- data/features/fixtures/rails5/app/config/cable.yml +0 -9
- data/features/fixtures/rails5/app/config/database.yml +0 -29
- data/features/fixtures/rails5/app/config/environment.rb +0 -5
- data/features/fixtures/rails5/app/config/environments/development.rb +0 -55
- data/features/fixtures/rails5/app/config/environments/production.rb +0 -87
- data/features/fixtures/rails5/app/config/environments/rails_env.rb +0 -55
- data/features/fixtures/rails5/app/config/environments/test.rb +0 -55
- data/features/fixtures/rails5/app/config/initializers/assets.rb +0 -11
- data/features/fixtures/rails5/app/config/initializers/backtrace_silencers.rb +0 -7
- data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +0 -29
- data/features/fixtures/rails5/app/config/initializers/clearance.rb +0 -5
- data/features/fixtures/rails5/app/config/initializers/cookies_serializer.rb +0 -5
- data/features/fixtures/rails5/app/config/initializers/filter_parameter_logging.rb +0 -5
- data/features/fixtures/rails5/app/config/initializers/inflections.rb +0 -16
- data/features/fixtures/rails5/app/config/initializers/mime_types.rb +0 -4
- data/features/fixtures/rails5/app/config/initializers/new_framework_defaults.rb +0 -24
- data/features/fixtures/rails5/app/config/initializers/session_store.rb +0 -3
- data/features/fixtures/rails5/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/rails5/app/config/locales/devise.en.yml +0 -64
- data/features/fixtures/rails5/app/config/locales/en.yml +0 -23
- data/features/fixtures/rails5/app/config/mongoid.yml +0 -23
- data/features/fixtures/rails5/app/config/puma.rb +0 -47
- data/features/fixtures/rails5/app/config/routes.rb +0 -62
- data/features/fixtures/rails5/app/config/secrets.yml +0 -25
- data/features/fixtures/rails5/app/config/spring.rb +0 -6
- data/features/fixtures/rails5/app/config.ru +0 -5
- data/features/fixtures/rails5/app/db/migrate/20180426095545_create_users.rb +0 -17
- data/features/fixtures/rails5/app/db/schema.rb +0 -29
- data/features/fixtures/rails5/app/db/seeds.rb +0 -7
- data/features/fixtures/rails5/app/lib/assets/.keep +0 -0
- data/features/fixtures/rails5/app/lib/tasks/.keep +0 -0
- data/features/fixtures/rails5/app/log/.keep +0 -0
- data/features/fixtures/rails5/app/public/404.html +0 -67
- data/features/fixtures/rails5/app/public/422.html +0 -67
- data/features/fixtures/rails5/app/public/500.html +0 -66
- data/features/fixtures/rails5/app/public/apple-touch-icon-precomposed.png +0 -0
- data/features/fixtures/rails5/app/public/apple-touch-icon.png +0 -0
- data/features/fixtures/rails5/app/public/favicon.ico +0 -0
- data/features/fixtures/rails5/app/public/robots.txt +0 -5
- data/features/fixtures/rails5/app/test/controllers/.keep +0 -0
- data/features/fixtures/rails5/app/test/fixtures/.keep +0 -0
- data/features/fixtures/rails5/app/test/fixtures/files/.keep +0 -0
- data/features/fixtures/rails5/app/test/helpers/.keep +0 -0
- data/features/fixtures/rails5/app/test/integration/.keep +0 -0
- data/features/fixtures/rails5/app/test/mailers/.keep +0 -0
- data/features/fixtures/rails5/app/test/models/.keep +0 -0
- data/features/fixtures/rails5/app/test/test_helper.rb +0 -10
- data/features/fixtures/rails5/app/tmp/.keep +0 -0
- data/features/fixtures/rails6/.dockerignore +0 -1
- data/features/fixtures/rails6/Dockerfile +0 -26
- data/features/fixtures/rails6/app/.browserslistrc +0 -1
- data/features/fixtures/rails6/app/.gitignore +0 -35
- data/features/fixtures/rails6/app/.ruby-version +0 -1
- data/features/fixtures/rails6/app/Gemfile +0 -58
- data/features/fixtures/rails6/app/README.md +0 -24
- data/features/fixtures/rails6/app/Rakefile +0 -6
- data/features/fixtures/rails6/app/app/assets/config/manifest.js +0 -2
- data/features/fixtures/rails6/app/app/assets/images/.keep +0 -0
- data/features/fixtures/rails6/app/app/assets/stylesheets/application.css +0 -15
- data/features/fixtures/rails6/app/app/channels/application_cable/channel.rb +0 -4
- data/features/fixtures/rails6/app/app/channels/application_cable/connection.rb +0 -4
- data/features/fixtures/rails6/app/app/controllers/api_key_controller.rb +0 -16
- data/features/fixtures/rails6/app/app/controllers/app_type_controller.rb +0 -16
- data/features/fixtures/rails6/app/app/controllers/app_version_controller.rb +0 -21
- data/features/fixtures/rails6/app/app/controllers/application_controller.rb +0 -7
- data/features/fixtures/rails6/app/app/controllers/auto_notify_controller.rb +0 -27
- data/features/fixtures/rails6/app/app/controllers/before_notify_controller.rb +0 -40
- data/features/fixtures/rails6/app/app/controllers/breadcrumbs_controller.rb +0 -24
- data/features/fixtures/rails6/app/app/controllers/clearance_controller.rb +0 -33
- data/features/fixtures/rails6/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/rails6/app/app/controllers/handled_controller.rb +0 -22
- data/features/fixtures/rails6/app/app/controllers/ignore_classes_controller.rb +0 -19
- data/features/fixtures/rails6/app/app/controllers/metadata_filters_controller.rb +0 -12
- data/features/fixtures/rails6/app/app/controllers/mongo_controller.rb +0 -22
- data/features/fixtures/rails6/app/app/controllers/project_root_controller.rb +0 -21
- data/features/fixtures/rails6/app/app/controllers/release_stage_controller.rb +0 -16
- data/features/fixtures/rails6/app/app/controllers/send_code_controller.rb +0 -16
- data/features/fixtures/rails6/app/app/controllers/send_environment_controller.rb +0 -8
- data/features/fixtures/rails6/app/app/controllers/session_tracking_controller.rb +0 -20
- data/features/fixtures/rails6/app/app/controllers/unhandled_controller.rb +0 -7
- data/features/fixtures/rails6/app/app/helpers/application_helper.rb +0 -2
- data/features/fixtures/rails6/app/app/javascript/channels/consumer.js +0 -6
- data/features/fixtures/rails6/app/app/javascript/channels/index.js +0 -5
- data/features/fixtures/rails6/app/app/javascript/packs/application.js +0 -9
- data/features/fixtures/rails6/app/app/jobs/application_job.rb +0 -7
- data/features/fixtures/rails6/app/app/jobs/notify_job.rb +0 -5
- data/features/fixtures/rails6/app/app/mailers/application_mailer.rb +0 -4
- data/features/fixtures/rails6/app/app/models/application_record.rb +0 -3
- data/features/fixtures/rails6/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/rails6/app/app/models/mongo_model.rb +0 -6
- data/features/fixtures/rails6/app/app/models/user.rb +0 -3
- data/features/fixtures/rails6/app/app/views/layouts/application.html.erb +0 -15
- data/features/fixtures/rails6/app/app/views/layouts/mailer.html.erb +0 -13
- data/features/fixtures/rails6/app/app/views/layouts/mailer.text.erb +0 -1
- data/features/fixtures/rails6/app/babel.config.js +0 -70
- data/features/fixtures/rails6/app/config/application.rb +0 -19
- data/features/fixtures/rails6/app/config/boot.rb +0 -4
- data/features/fixtures/rails6/app/config/cable.yml +0 -13
- data/features/fixtures/rails6/app/config/credentials.yml.enc +0 -1
- data/features/fixtures/rails6/app/config/database.yml +0 -29
- data/features/fixtures/rails6/app/config/environment.rb +0 -5
- data/features/fixtures/rails6/app/config/environments/development.rb +0 -64
- data/features/fixtures/rails6/app/config/environments/production.rb +0 -113
- data/features/fixtures/rails6/app/config/environments/rails_env.rb +0 -56
- data/features/fixtures/rails6/app/config/environments/test.rb +0 -48
- data/features/fixtures/rails6/app/config/initializers/application_controller_renderer.rb +0 -8
- data/features/fixtures/rails6/app/config/initializers/assets.rb +0 -14
- data/features/fixtures/rails6/app/config/initializers/backtrace_silencers.rb +0 -7
- data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +0 -29
- data/features/fixtures/rails6/app/config/initializers/content_security_policy.rb +0 -27
- data/features/fixtures/rails6/app/config/initializers/cookies_serializer.rb +0 -5
- data/features/fixtures/rails6/app/config/initializers/filter_parameter_logging.rb +0 -5
- data/features/fixtures/rails6/app/config/initializers/inflections.rb +0 -16
- data/features/fixtures/rails6/app/config/initializers/mime_types.rb +0 -4
- data/features/fixtures/rails6/app/config/initializers/wrap_parameters.rb +0 -14
- data/features/fixtures/rails6/app/config/locales/en.yml +0 -33
- data/features/fixtures/rails6/app/config/mongoid.yml +0 -23
- data/features/fixtures/rails6/app/config/puma.rb +0 -35
- data/features/fixtures/rails6/app/config/routes.rb +0 -62
- data/features/fixtures/rails6/app/config/secrets.yml +0 -25
- data/features/fixtures/rails6/app/config/spring.rb +0 -6
- data/features/fixtures/rails6/app/config/storage.yml +0 -34
- data/features/fixtures/rails6/app/config/webpack/development.js +0 -5
- data/features/fixtures/rails6/app/config/webpack/environment.js +0 -3
- data/features/fixtures/rails6/app/config/webpack/production.js +0 -5
- data/features/fixtures/rails6/app/config/webpack/rails_env.js +0 -5
- data/features/fixtures/rails6/app/config/webpack/test.js +0 -5
- data/features/fixtures/rails6/app/config/webpacker.yml +0 -121
- data/features/fixtures/rails6/app/config.ru +0 -5
- data/features/fixtures/rails6/app/db/migrate/20180426095545_create_users.rb +0 -17
- data/features/fixtures/rails6/app/db/schema.rb +0 -29
- data/features/fixtures/rails6/app/db/seeds.rb +0 -7
- data/features/fixtures/rails6/app/lib/assets/.keep +0 -0
- data/features/fixtures/rails6/app/lib/tasks/.keep +0 -0
- data/features/fixtures/rails6/app/log/.keep +0 -0
- data/features/fixtures/rails6/app/package.json +0 -15
- data/features/fixtures/rails6/app/postcss.config.js +0 -12
- data/features/fixtures/rails6/app/public/404.html +0 -67
- data/features/fixtures/rails6/app/public/422.html +0 -67
- data/features/fixtures/rails6/app/public/500.html +0 -66
- data/features/fixtures/rails6/app/public/apple-touch-icon-precomposed.png +0 -0
- data/features/fixtures/rails6/app/public/apple-touch-icon.png +0 -0
- data/features/fixtures/rails6/app/public/favicon.ico +0 -0
- data/features/fixtures/rails6/app/public/robots.txt +0 -1
- data/features/fixtures/rails6/app/storage/.keep +0 -0
- data/features/fixtures/rails6/app/test/application_system_test_case.rb +0 -5
- data/features/fixtures/rails6/app/test/channels/application_cable/connection_test.rb +0 -11
- data/features/fixtures/rails6/app/test/controllers/.keep +0 -0
- data/features/fixtures/rails6/app/test/fixtures/.keep +0 -0
- data/features/fixtures/rails6/app/test/fixtures/files/.keep +0 -0
- data/features/fixtures/rails6/app/test/helpers/.keep +0 -0
- data/features/fixtures/rails6/app/test/integration/.keep +0 -0
- data/features/fixtures/rails6/app/test/mailers/.keep +0 -0
- data/features/fixtures/rails6/app/test/models/.keep +0 -0
- data/features/fixtures/rails6/app/test/system/.keep +0 -0
- data/features/fixtures/rails6/app/test/test_helper.rb +0 -13
- data/features/fixtures/rails6/app/tmp/.keep +0 -0
- data/features/fixtures/rails6/app/yarn.lock +0 -6082
- data/features/fixtures/resque/.dockerignore +0 -1
- data/features/fixtures/resque/Dockerfile +0 -14
- data/features/fixtures/resque/Gemfile +0 -6
- data/features/fixtures/resque/Rakefile +0 -4
- data/features/fixtures/resque/app.rb +0 -12
- data/features/fixtures/sidekiq/.dockerignore +0 -2
- data/features/fixtures/sidekiq/Dockerfile +0 -17
- data/features/fixtures/sidekiq/app/Gemfile +0 -7
- data/features/fixtures/sidekiq/app/Rakefile.rb +0 -14
- data/features/fixtures/sidekiq/app/app.rb +0 -35
- data/features/fixtures/sidekiq/app/initializers/HandledError.rb +0 -3
- data/features/fixtures/sidekiq/app/initializers/UnhandledError.rb +0 -3
- data/features/fixtures/sidekiq/payloads/handled_metadata_ca_false.json +0 -11
- data/features/fixtures/sidekiq/payloads/handled_metadata_ca_true.json +0 -12
- data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_false.json +0 -11
- data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_true.json +0 -12
- data/features/fixtures/sinatra1/.dockerignore +0 -1
- data/features/fixtures/sinatra1/Dockerfile +0 -13
- data/features/fixtures/sinatra1/Gemfile +0 -4
- data/features/fixtures/sinatra1/app.rb +0 -9
- data/features/fixtures/sinatra2/.dockerignore +0 -1
- data/features/fixtures/sinatra2/Dockerfile +0 -13
- data/features/fixtures/sinatra2/Gemfile +0 -4
- data/features/fixtures/sinatra2/app.rb +0 -9
- data/features/plain_features/add_tab.feature +0 -55
- data/features/plain_features/app_type.feature +0 -8
- data/features/plain_features/app_version.feature +0 -8
- data/features/plain_features/auto_notify.feature +0 -7
- data/features/plain_features/delivery.feature +0 -20
- data/features/plain_features/exception_data.feature +0 -50
- data/features/plain_features/filters.feature +0 -14
- data/features/plain_features/handled_errors.feature +0 -42
- data/features/plain_features/ignore_classes.feature +0 -11
- data/features/plain_features/ignore_report.feature +0 -14
- data/features/plain_features/proxies.feature +0 -25
- data/features/plain_features/release_stages.feature +0 -20
- data/features/plain_features/report_api_key.feature +0 -16
- data/features/plain_features/report_severity.feature +0 -17
- data/features/plain_features/report_stack_frames.feature +0 -53
- data/features/plain_features/report_user.feature +0 -51
- data/features/plain_features/unhandled_errors.feature +0 -33
- data/features/rails_features/api_key.feature +0 -15
- data/features/rails_features/app_type.feature +0 -24
- data/features/rails_features/app_version.feature +0 -26
- data/features/rails_features/auto_capture_sessions.feature +0 -34
- data/features/rails_features/auto_notify.feature +0 -41
- data/features/rails_features/before_notify.feature +0 -44
- data/features/rails_features/breadcrumbs.feature +0 -43
- data/features/rails_features/handled.feature +0 -42
- data/features/rails_features/ignore_classes.feature +0 -14
- data/features/rails_features/meta_data_filters.feature +0 -16
- data/features/rails_features/mongo_breadcrumbs.feature +0 -26
- data/features/rails_features/on_error.feature +0 -29
- data/features/rails_features/project_root.feature +0 -35
- data/features/rails_features/release_stage.feature +0 -27
- data/features/rails_features/send_code.feature +0 -18
- data/features/rails_features/send_environment.feature +0 -13
- data/features/rails_features/unhandled.feature +0 -16
- data/features/rails_features/user_info.feature +0 -52
- data/features/sidekiq.feature +0 -30
- data/features/steps/ruby_notifier_steps.rb +0 -75
- data/features/support/env.rb +0 -23
- data/issue_template.md +0 -48
- data/spec/breadcrumbs/breadcrumb_spec.rb +0 -93
- data/spec/breadcrumbs/validator_spec.rb +0 -176
- data/spec/bugsnag_spec.rb +0 -366
- data/spec/cleaner_spec.rb +0 -350
- data/spec/code_extractor_spec.rb +0 -129
- data/spec/configuration_spec.rb +0 -445
- data/spec/fixtures/apps/rails-initializer-config/Gemfile +0 -9
- data/spec/fixtures/apps/rails-initializer-config/config/initializers/bugsnag.rb +0 -3
- data/spec/fixtures/apps/rails-initializer-config/config.ru +0 -16
- data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +0 -9
- data/spec/fixtures/apps/rails-invalid-initializer-config/config/initializers/bugsnag.rb +0 -3
- data/spec/fixtures/apps/rails-invalid-initializer-config/config.ru +0 -16
- data/spec/fixtures/apps/rails-no-config/Gemfile +0 -9
- data/spec/fixtures/apps/rails-no-config/config.ru +0 -16
- data/spec/fixtures/apps/scripts/Gemfile +0 -3
- data/spec/fixtures/apps/scripts/configure_invalid_key.rb +0 -5
- data/spec/fixtures/apps/scripts/configure_key.rb +0 -5
- data/spec/fixtures/apps/scripts/no_config.rb +0 -3
- data/spec/fixtures/crashes/end_of_file.rb +0 -9
- data/spec/fixtures/crashes/file1.rb +0 -29
- data/spec/fixtures/crashes/file2.rb +0 -25
- data/spec/fixtures/crashes/file_with_long_lines.rb +0 -7
- data/spec/fixtures/crashes/functions.rb +0 -29
- data/spec/fixtures/crashes/short_file.rb +0 -3
- data/spec/fixtures/crashes/start_of_file.rb +0 -9
- data/spec/fixtures/middleware/internal_info_setter.rb +0 -11
- data/spec/fixtures/middleware/public_info_setter.rb +0 -11
- data/spec/fixtures/tasks/Rakefile +0 -26
- data/spec/helper_spec.rb +0 -131
- data/spec/integration_spec.rb +0 -107
- data/spec/integrations/clearance_user_spec.rb +0 -38
- data/spec/integrations/logger_spec.rb +0 -134
- data/spec/integrations/mailman_spec.rb +0 -83
- data/spec/integrations/mongo_spec.rb +0 -262
- data/spec/integrations/que_spec.rb +0 -94
- data/spec/integrations/rack_spec.rb +0 -232
- data/spec/integrations/rails3_request_spec.rb +0 -67
- data/spec/integrations/rake_spec.rb +0 -71
- data/spec/integrations/resque_spec.rb +0 -99
- data/spec/integrations/shoryuken_spec.rb +0 -70
- data/spec/integrations/sidekiq_spec.rb +0 -137
- data/spec/integrations/warden_user_spec.rb +0 -41
- data/spec/middleware/exception_meta_data_spec.rb +0 -104
- data/spec/middleware_spec.rb +0 -254
- data/spec/middleware_stack_spec.rb +0 -151
- data/spec/on_error_spec.rb +0 -332
- data/spec/report_spec.rb +0 -1583
- data/spec/session_tracker_spec.rb +0 -156
- data/spec/spec_helper.rb +0 -99
- data/spec/stacktrace_spec.rb +0 -443
- data/spec/utility/circular_buffer_spec.rb +0 -98
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7f8eb06e59bf516cfc5ca7f5539ae3b0fdbd9c4ea86a82252d6c2ea787a7c255
|
|
4
|
+
data.tar.gz: 01be8584412260118dfb14548808e1c4c4444aadd040bbbd6c6ad5dee3da1dbc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bebc3030e22bbc50423792c701185d061b0d7834c6a741c805cafa6223753e941cd893a73c65792b8726fc6adf9f9c47ea30715c14381f5a2ac87c52d345ba98
|
|
7
|
+
data.tar.gz: 1923948f57cc1f032eaf249912d6f5e65423c853bc2cffe89b1b198aead96bc34303aa3aec95f9699911176579cbee14797e805986f24aff2834458413dc5066
|
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,295 @@
|
|
|
1
1
|
Changelog
|
|
2
2
|
=========
|
|
3
3
|
|
|
4
|
+
## v6.27.1 (18 June 2024)
|
|
5
|
+
|
|
6
|
+
### Fixes
|
|
7
|
+
|
|
8
|
+
* Only read Rack request body if it's rewindable
|
|
9
|
+
| [#829](https://github.com/bugsnag/bugsnag-ruby/pull/829)
|
|
10
|
+
* Fix circular require warning
|
|
11
|
+
| [#828](https://github.com/bugsnag/bugsnag-ruby/pull/828)
|
|
12
|
+
|
|
13
|
+
## v6.27.0 (23 May 2024)
|
|
14
|
+
|
|
15
|
+
### Enhancements
|
|
16
|
+
|
|
17
|
+
* Include the Warden scope in user metadata
|
|
18
|
+
| [#821](https://github.com/bugsnag/bugsnag-ruby/pull/821)
|
|
19
|
+
| [javierjulio](https://github.com/javierjulio)
|
|
20
|
+
* Add a block variant of `add_on_error`
|
|
21
|
+
| [#824](https://github.com/bugsnag/bugsnag-ruby/pull/824)
|
|
22
|
+
|
|
23
|
+
## v6.26.4 (25 March 2024)
|
|
24
|
+
|
|
25
|
+
### Fixes
|
|
26
|
+
|
|
27
|
+
* Fix Unicode encoding issues when using `Exception#detailed_message` (Ruby 3.2+)
|
|
28
|
+
| [#817](https://github.com/bugsnag/bugsnag-ruby/pull/817)
|
|
29
|
+
* Fix compatibility with Ruby 3.4-dev
|
|
30
|
+
| [#815](https://github.com/bugsnag/bugsnag-ruby/pull/815)
|
|
31
|
+
| [k0kubun](https://github.com/k0kubun)
|
|
32
|
+
|
|
33
|
+
## v6.26.3 (24 January 2024)
|
|
34
|
+
|
|
35
|
+
### Fixes
|
|
36
|
+
|
|
37
|
+
* Handle mailto links in `Cleaner#clean_url`
|
|
38
|
+
| [#813](https://github.com/bugsnag/bugsnag-ruby/pull/813)
|
|
39
|
+
|
|
40
|
+
## v6.26.2 (17 January 2024)
|
|
41
|
+
|
|
42
|
+
### Fixes
|
|
43
|
+
|
|
44
|
+
* Fix unhandled `URI::InvalidURIError` in `Cleaner#clean_url`
|
|
45
|
+
| [#811](https://github.com/bugsnag/bugsnag-ruby/pull/811)
|
|
46
|
+
|
|
47
|
+
## v6.26.1 (9 January 2024)
|
|
48
|
+
|
|
49
|
+
### Fixes
|
|
50
|
+
|
|
51
|
+
* Fix deprecation warning from Sidekiq error handler
|
|
52
|
+
| [#796](https://github.com/bugsnag/bugsnag-ruby/pull/796)
|
|
53
|
+
| [fukayatsu](https://github.com/fukayatsu)
|
|
54
|
+
* Fix Resque integration when failure backend is already `Resque::Failure::Multiple`
|
|
55
|
+
| [#803](https://github.com/bugsnag/bugsnag-ruby/pull/803)
|
|
56
|
+
| [sj26](https://github.com/sj26)
|
|
57
|
+
* Redact URLs in automatic Rails breadcrumbs
|
|
58
|
+
| [#806](https://github.com/bugsnag/bugsnag-ruby/pull/806)
|
|
59
|
+
|
|
60
|
+
## v6.26.0 (19 July 2023)
|
|
61
|
+
|
|
62
|
+
### Enhancements
|
|
63
|
+
|
|
64
|
+
* Support Sidekiq v7
|
|
65
|
+
| [#785](https://github.com/bugsnag/bugsnag-ruby/pull/785)
|
|
66
|
+
| [stevenharman](https://github.com/stevenharman)
|
|
67
|
+
|
|
68
|
+
## v6.25.2 (7 February 2023)
|
|
69
|
+
|
|
70
|
+
### Enhancements
|
|
71
|
+
|
|
72
|
+
* Improve performance of `Bugsnag.notify`
|
|
73
|
+
| [#774](https://github.com/bugsnag/bugsnag-ruby/pull/774)
|
|
74
|
+
| [sambostock](https://github.com/sambostock)
|
|
75
|
+
|
|
76
|
+
## v6.25.1 (5 January 2023)
|
|
77
|
+
|
|
78
|
+
### Fixes
|
|
79
|
+
|
|
80
|
+
* Allow Gem paths to be stripped from file names in stacktraces when they contain a Regexp special character
|
|
81
|
+
| [#764](https://github.com/bugsnag/bugsnag-ruby/pull/764)
|
|
82
|
+
|
|
83
|
+
### Enhancements
|
|
84
|
+
|
|
85
|
+
* Use `Exception#detailed_message` instead of `Exception#message` when available
|
|
86
|
+
| [#761](https://github.com/bugsnag/bugsnag-ruby/pull/761)
|
|
87
|
+
|
|
88
|
+
## v6.25.0 (1 December 2022)
|
|
89
|
+
|
|
90
|
+
### Enhancements
|
|
91
|
+
|
|
92
|
+
* Add support for feature flags & experiments. For more information, please see https://docs.bugsnag.com/product/features-experiments
|
|
93
|
+
| [#758](https://github.com/bugsnag/bugsnag-ruby/pull/758)
|
|
94
|
+
|
|
95
|
+
## v6.24.2 (21 January 2022)
|
|
96
|
+
|
|
97
|
+
### Fixes
|
|
98
|
+
|
|
99
|
+
* Avoid rescuing from errors in Active Record transaction callbacks in versions of Rails where they will be re-raised
|
|
100
|
+
| [#709](https://github.com/bugsnag/bugsnag-ruby/pull/709)
|
|
101
|
+
| [apalmblad](https://github.com/apalmblad)
|
|
102
|
+
|
|
103
|
+
## v6.24.1 (30 November 2021)
|
|
104
|
+
|
|
105
|
+
### Fixes
|
|
106
|
+
|
|
107
|
+
* Fix metadata not being recorded when using Resque outside of Active Job
|
|
108
|
+
| [#710](https://github.com/bugsnag/bugsnag-ruby/pull/710)
|
|
109
|
+
| [isnotajoke](https://github.com/isnotajoke)
|
|
110
|
+
|
|
111
|
+
## v6.24.0 (6 October 2021)
|
|
112
|
+
|
|
113
|
+
### Enhancements
|
|
114
|
+
|
|
115
|
+
* Allow overriding an event's unhandled flag
|
|
116
|
+
| [#698](https://github.com/bugsnag/bugsnag-ruby/pull/698)
|
|
117
|
+
* Add the ability to store metadata globally
|
|
118
|
+
| [#699](https://github.com/bugsnag/bugsnag-ruby/pull/699)
|
|
119
|
+
* Add `cookies`, `body` and `httpVersion` to the automatically captured request data for Rack apps
|
|
120
|
+
| [#700](https://github.com/bugsnag/bugsnag-ruby/pull/700)
|
|
121
|
+
* Add `Configuration#endpoints` for reading the notify and sessions endpoints and `Configuration#endpoints=` for setting them
|
|
122
|
+
| [#701](https://github.com/bugsnag/bugsnag-ruby/pull/701)
|
|
123
|
+
* Add `Configuration#redacted_keys`. This is like `meta_data_filters` but matches strings with case-insensitive equality, rather than matching based on inclusion
|
|
124
|
+
| [#703](https://github.com/bugsnag/bugsnag-ruby/pull/703)
|
|
125
|
+
* Allow pausing and resuming sessions, giving more control over the stability score
|
|
126
|
+
| [#704](https://github.com/bugsnag/bugsnag-ruby/pull/704)
|
|
127
|
+
* Add `Configuration#vendor_paths` to replace `Configuration#vendor_path`
|
|
128
|
+
| [#705](https://github.com/bugsnag/bugsnag-ruby/pull/705)
|
|
129
|
+
|
|
130
|
+
### Deprecated
|
|
131
|
+
|
|
132
|
+
* In the next major release, `params` will only contain query string parameters. Currently it also contains the request body for form data requests, but this is deprecated in favour of the new `body` property
|
|
133
|
+
* The `Configuration#set_endpoints` method is now deprecated in favour of `Configuration#endpoints=`
|
|
134
|
+
* The `Configuration#meta_data_filters` option is now deprecated in favour of `Configuration#redacted_keys`
|
|
135
|
+
* The `Configuration#vendor_path` option is now deprecated in favour of `Configuration#vendor_paths`
|
|
136
|
+
|
|
137
|
+
## v6.23.0 (21 September 2021)
|
|
138
|
+
|
|
139
|
+
### Enhancements
|
|
140
|
+
|
|
141
|
+
* Sessions will now be delivered every 10 seconds, instead of every 30 seconds
|
|
142
|
+
| [#680](https://github.com/bugsnag/bugsnag-ruby/pull/680)
|
|
143
|
+
* Log errors that prevent delivery at `ERROR` level
|
|
144
|
+
| [#681](https://github.com/bugsnag/bugsnag-ruby/pull/681)
|
|
145
|
+
* Add `on_breadcrumb` callbacks to replace `before_breadcrumb_callbacks`
|
|
146
|
+
| [#686](https://github.com/bugsnag/bugsnag-ruby/pull/686)
|
|
147
|
+
* Add `context` attribute to configuration, which will be used as the default context for events. Using this option will disable automatic context setting
|
|
148
|
+
| [#687](https://github.com/bugsnag/bugsnag-ruby/pull/687)
|
|
149
|
+
| [#688](https://github.com/bugsnag/bugsnag-ruby/pull/688)
|
|
150
|
+
* Add `Bugsnag#breadcrumbs` getter to fetch the current list of breadcrumbs
|
|
151
|
+
| [#689](https://github.com/bugsnag/bugsnag-ruby/pull/689)
|
|
152
|
+
* Add `time` (an ISO8601 string in UTC) to `device` metadata
|
|
153
|
+
| [#690](https://github.com/bugsnag/bugsnag-ruby/pull/690)
|
|
154
|
+
* Add `errors` to `Report`/`Event` containing an array of `Error` objects. The `Error` object contains `error_class`, `error_message`, `stacktrace` and `type` (always "ruby")
|
|
155
|
+
| [#691](https://github.com/bugsnag/bugsnag-ruby/pull/691)
|
|
156
|
+
* Add `original_error` to `Report`/`Event` containing the original Exception instance
|
|
157
|
+
| [#692](https://github.com/bugsnag/bugsnag-ruby/pull/692)
|
|
158
|
+
* Add `request` to `Report`/`Event` containing HTTP request metadata
|
|
159
|
+
| [#693](https://github.com/bugsnag/bugsnag-ruby/pull/693)
|
|
160
|
+
* Add `add_metadata` and `clear_metadata` to `Report`/`Event`
|
|
161
|
+
| [#694](https://github.com/bugsnag/bugsnag-ruby/pull/694)
|
|
162
|
+
* Add `set_user` to `Report`/`Event`
|
|
163
|
+
| [#695](https://github.com/bugsnag/bugsnag-ruby/pull/695)
|
|
164
|
+
|
|
165
|
+
### Fixes
|
|
166
|
+
|
|
167
|
+
* Avoid starting session delivery thread when the current release stage is not enabled
|
|
168
|
+
| [#677](https://github.com/bugsnag/bugsnag-ruby/pull/677)
|
|
169
|
+
|
|
170
|
+
### Deprecated
|
|
171
|
+
|
|
172
|
+
* `before_breadcrumb_callbacks` have been deprecated in favour of `on_breadcrumb` callbacks and will be removed in the next major release
|
|
173
|
+
* For consistency with Bugsnag notifiers for other languages, a number of methods have been deprecated in this release. The old options will be removed in the next major version | [#676](https://github.com/bugsnag/bugsnag-ruby/pull/676)
|
|
174
|
+
* The `notify_release_stages` configuration option has been deprecated in favour of `enabled_release_stages`
|
|
175
|
+
* The `auto_capture_sessions` and `track_sessions` configuration options have been deprecated in favour of `auto_track_sessions`
|
|
176
|
+
* The `enabled_automatic_breadcrumb_types` configuration option has been deprecated in favour of `enabled_breadcrumb_types`
|
|
177
|
+
* The `Report` class has been deprecated in favour of the `Event` class
|
|
178
|
+
* The `Report#meta_data` attribute has been deprecated in favour of `Event#metadata`
|
|
179
|
+
* The `Breadcrumb#meta_data` attribute has been deprecated in favour of `Breadcrumb#metadata`
|
|
180
|
+
* The `Breadcrumb#name` attribute has been deprecated in favour of `Breadcrumb#message`
|
|
181
|
+
* The breadcrumb type constants in the `Bugsnag::Breadcrumbs` module has been deprecated in favour of the constants available in the `Bugsnag::BreadcrumbType` module
|
|
182
|
+
For example, `Bugsnag::Breadcrumbs::ERROR_BREADCRUMB_TYPE` is now available as `Bugsnag::BreadcrumbType::ERROR`
|
|
183
|
+
* `Report#exceptions` has been deprecated in favour of the new `errors` property
|
|
184
|
+
* `Report#raw_exceptions` has been deprecated in favour of the new `original_error` property
|
|
185
|
+
* Accessing request data via `Report#metadata` has been deprecated in favour of using the new `request` property. Request data will be moved out of metadata in the next major version
|
|
186
|
+
* The `Report#add_tab` and `Report#remove_tab` methods have been deprecated in favour of the new `add_metadata` and `clear_metadata` methods
|
|
187
|
+
|
|
188
|
+
## v6.22.1 (11 August 2021)
|
|
189
|
+
|
|
190
|
+
### Fixes
|
|
191
|
+
|
|
192
|
+
* Fix possible `LocalJumpError` introduced in v6.22.0
|
|
193
|
+
| [#675](https://github.com/bugsnag/bugsnag-ruby/pull/675)
|
|
194
|
+
|
|
195
|
+
## v6.22.0 (10 August 2021)
|
|
196
|
+
|
|
197
|
+
### Enhancements
|
|
198
|
+
|
|
199
|
+
* Add support for tracking exceptions and capturing metadata in Active Job, when not using an existing integration
|
|
200
|
+
| [#670](https://github.com/bugsnag/bugsnag-ruby/pull/670)
|
|
201
|
+
|
|
202
|
+
* Improve the report context when using Delayed Job or Resque as the Active Job queue adapter
|
|
203
|
+
| [#671](https://github.com/bugsnag/bugsnag-ruby/pull/671)
|
|
204
|
+
|
|
205
|
+
## v6.21.0 (23 June 2021)
|
|
206
|
+
|
|
207
|
+
### Enhancements
|
|
208
|
+
|
|
209
|
+
* Allow a `Method` or any object responding to `#call` to be used as an `on_error` callback or middleware
|
|
210
|
+
| [#662](https://github.com/bugsnag/bugsnag-ruby/pull/662)
|
|
211
|
+
| [odlp](https://github.com/odlp)
|
|
212
|
+
|
|
213
|
+
### Fixes
|
|
214
|
+
|
|
215
|
+
* Deliver when an error is raised in the block argument to `notify`
|
|
216
|
+
| [#660](https://github.com/bugsnag/bugsnag-ruby/pull/660)
|
|
217
|
+
| [aki77](https://github.com/aki77)
|
|
218
|
+
* Fix potential `NoMethodError` in `Bugsnag::Railtie` when using `require: false` in a Gemfile
|
|
219
|
+
| [#666](https://github.com/bugsnag/bugsnag-ruby/pull/666)
|
|
220
|
+
|
|
221
|
+
## v6.20.0 (29 March 2021)
|
|
222
|
+
|
|
223
|
+
### Enhancements
|
|
224
|
+
|
|
225
|
+
* Classify `ActionDispatch::Http::MimeNegotiation::InvalidType` as info severity level
|
|
226
|
+
| [#654](https://github.com/bugsnag/bugsnag-ruby/pull/654)
|
|
227
|
+
|
|
228
|
+
### Fixes
|
|
229
|
+
|
|
230
|
+
* Include `connection_id` in ActiveRecord breadcrumb metadata on new versons of Rails
|
|
231
|
+
| [#655](https://github.com/bugsnag/bugsnag-ruby/pull/655)
|
|
232
|
+
* Avoid crash when Mongo 1.12 or earlier is used
|
|
233
|
+
| [#652](https://github.com/bugsnag/bugsnag-ruby/pull/652)
|
|
234
|
+
| [isabanin](https://github.com/isabanin)
|
|
235
|
+
|
|
236
|
+
## 6.19.0 (6 January 2021)
|
|
237
|
+
|
|
238
|
+
### Enhancements
|
|
239
|
+
|
|
240
|
+
* Exception messages will be truncated if they have a length greater than 3,072
|
|
241
|
+
| [#636](https://github.com/bugsnag/bugsnag-ruby/pull/636)
|
|
242
|
+
| [joshuapinter](https://github.com/joshuapinter)
|
|
243
|
+
|
|
244
|
+
* Breadcrumb metadata can now contain any type
|
|
245
|
+
| [#648](https://github.com/bugsnag/bugsnag-ruby/pull/648)
|
|
246
|
+
|
|
247
|
+
## 6.18.0 (27 October 2020)
|
|
248
|
+
|
|
249
|
+
### Enhancements
|
|
250
|
+
|
|
251
|
+
* Bugsnag should now report uncaught exceptions inside Bundler's 'friendly errors'
|
|
252
|
+
| [#634](https://github.com/bugsnag/bugsnag-ruby/pull/634)
|
|
253
|
+
|
|
254
|
+
* Improve the display of breadrumbs in the Bugsnag app by including milliseconds in timestamps
|
|
255
|
+
| [#639](https://github.com/bugsnag/bugsnag-ruby/pull/639)
|
|
256
|
+
|
|
257
|
+
## 6.17.0 (27 August 2020)
|
|
258
|
+
|
|
259
|
+
### Enhancements
|
|
260
|
+
|
|
261
|
+
* Sidekiq now uses `thread_queue` delivery by default
|
|
262
|
+
| [#626](https://github.com/bugsnag/bugsnag-ruby/pull/626)
|
|
263
|
+
|
|
264
|
+
* Rescue now uses `thread_queue` delivery when `at_exit` hooks are enabled
|
|
265
|
+
| [#629](https://github.com/bugsnag/bugsnag-ruby/pull/629)
|
|
266
|
+
|
|
267
|
+
## 6.16.0 (12 August 2020)
|
|
268
|
+
|
|
269
|
+
### Enhancements
|
|
270
|
+
|
|
271
|
+
* Set default Delayed Job error context to job class
|
|
272
|
+
| [#499](https://github.com/bugsnag/bugsnag-ruby/pull/499)
|
|
273
|
+
| [Mike Stewart](https://github.com/mike-stewart)
|
|
274
|
+
|
|
275
|
+
* The `BUGSNAG_RELEASE_STAGE` environment variable can now be used to set the release stage. Previously this was only used in Rails applications
|
|
276
|
+
| [#613](https://github.com/bugsnag/bugsnag-ruby/pull/613)
|
|
277
|
+
|
|
278
|
+
* Add support for runtime versions to Delayed Job, Mailman and Shoryuken integrations
|
|
279
|
+
| [#620](https://github.com/bugsnag/bugsnag-ruby/pull/620)
|
|
280
|
+
|
|
281
|
+
* Reduce the size of the bundled gem
|
|
282
|
+
| [#571](https://github.com/bugsnag/bugsnag-ruby/pull/571)
|
|
283
|
+
| [t-richards](https://github.com/t-richards)
|
|
284
|
+
|
|
285
|
+
* Move serialization of Reports onto the background thread when using the thread_queue delivery method
|
|
286
|
+
| [#623](https://github.com/bugsnag/bugsnag-ruby/pull/623)
|
|
287
|
+
|
|
288
|
+
## Fixes
|
|
289
|
+
|
|
290
|
+
* The `app_type` configuration option should no longer be overwritten by Bugsnag and integrations should set this more consistently
|
|
291
|
+
| [#619](https://github.com/bugsnag/bugsnag-ruby/pull/619)
|
|
292
|
+
|
|
4
293
|
## 6.15.0 (27 July 2020)
|
|
5
294
|
|
|
6
295
|
### Enhancements
|
data/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Bugsnag error monitoring & exception reporter for Ruby
|
|
2
|
-
[](https://github.com/bugsnag/bugsnag-ruby/actions/workflows/test-package.yml?query=branch%3Amaster)
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
The Bugsnag exception reporter for Ruby gives you instant notification of exceptions thrown from your **[Rails](https://www.bugsnag.com/platforms/rails)**, **Sinatra**, **Rack** or **plain Ruby** app. Any uncaught exceptions will trigger a notification to be sent to your Bugsnag project.
|
|
@@ -22,7 +22,6 @@ The Bugsnag exception reporter for Ruby gives you instant notification of except
|
|
|
22
22
|
* [Rake](https://docs.bugsnag.com/platforms/ruby/rake)
|
|
23
23
|
* [Sidekiq](https://docs.bugsnag.com/platforms/ruby/sidekiq)
|
|
24
24
|
* [Other Ruby apps](https://docs.bugsnag.com/platforms/ruby/other)
|
|
25
|
-
* For [EventMachine](https://rubyeventmachine.com) integration, see [`bugsnag-em`](https://github.com/bugsnag/bugsnag-em)
|
|
26
25
|
3. Relax!
|
|
27
26
|
|
|
28
27
|
## Support
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
6.
|
|
1
|
+
6.27.1
|
data/bugsnag.gemspec
CHANGED
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
|
|
|
10
10
|
s.homepage = "https://github.com/bugsnag/bugsnag-ruby"
|
|
11
11
|
s.licenses = ["MIT"]
|
|
12
12
|
|
|
13
|
-
s.files = `git ls-files`.split("\
|
|
13
|
+
s.files = `git ls-files -z lib bugsnag.gemspec VERSION .yardopts`.split("\x0")
|
|
14
14
|
s.extra_rdoc_files = [
|
|
15
15
|
"LICENSE.txt",
|
|
16
16
|
"README.md",
|
|
@@ -18,5 +18,22 @@ Gem::Specification.new do |s|
|
|
|
18
18
|
]
|
|
19
19
|
s.require_paths = ["lib"]
|
|
20
20
|
s.required_ruby_version = '>= 1.9.2'
|
|
21
|
-
|
|
21
|
+
|
|
22
|
+
ruby_version = Gem::Version.new(RUBY_VERSION.dup)
|
|
23
|
+
|
|
24
|
+
if ruby_version < Gem::Version.new('2.2.0')
|
|
25
|
+
# concurrent-ruby 1.1.10 requires Ruby 2.2+
|
|
26
|
+
s.add_runtime_dependency 'concurrent-ruby', '~> 1.0', '< 1.1.10'
|
|
27
|
+
else
|
|
28
|
+
s.add_runtime_dependency 'concurrent-ruby', '~> 1.0'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
if s.respond_to?(:metadata=)
|
|
32
|
+
s.metadata = {
|
|
33
|
+
"changelog_uri" => "https://github.com/bugsnag/bugsnag-ruby/blob/v#{File.read("VERSION").strip}/CHANGELOG.md",
|
|
34
|
+
"documentation_uri" => "https://docs.bugsnag.com/platforms/ruby/",
|
|
35
|
+
"source_code_uri" => "https://github.com/bugsnag/bugsnag-ruby/",
|
|
36
|
+
"rubygems_mfa_required" => "true"
|
|
37
|
+
}
|
|
38
|
+
end
|
|
22
39
|
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require "bugsnag/breadcrumbs/breadcrumbs"
|
|
2
|
+
|
|
3
|
+
module Bugsnag
|
|
4
|
+
module BreadcrumbType
|
|
5
|
+
ERROR = Bugsnag::Breadcrumbs::ERROR_BREADCRUMB_TYPE
|
|
6
|
+
LOG = Bugsnag::Breadcrumbs::LOG_BREADCRUMB_TYPE
|
|
7
|
+
MANUAL = Bugsnag::Breadcrumbs::MANUAL_BREADCRUMB_TYPE
|
|
8
|
+
NAVIGATION = Bugsnag::Breadcrumbs::NAVIGATION_BREADCRUMB_TYPE
|
|
9
|
+
PROCESS = Bugsnag::Breadcrumbs::PROCESS_BREADCRUMB_TYPE
|
|
10
|
+
REQUEST = Bugsnag::Breadcrumbs::REQUEST_BREADCRUMB_TYPE
|
|
11
|
+
STATE = Bugsnag::Breadcrumbs::STATE_BREADCRUMB_TYPE
|
|
12
|
+
USER = Bugsnag::Breadcrumbs::USER_BREADCRUMB_TYPE
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
module Bugsnag::Breadcrumbs
|
|
2
2
|
class Breadcrumb
|
|
3
|
+
# @deprecated Use {#message} instead
|
|
3
4
|
# @return [String] the breadcrumb name
|
|
4
5
|
attr_accessor :name
|
|
5
6
|
|
|
6
7
|
# @return [String] the breadcrumb type
|
|
7
8
|
attr_accessor :type
|
|
8
9
|
|
|
10
|
+
# @deprecated Use {#metadata} instead
|
|
9
11
|
# @return [Hash, nil] metadata hash containing strings, numbers, or booleans, or nil
|
|
10
12
|
attr_accessor :meta_data
|
|
11
13
|
|
|
@@ -23,7 +25,7 @@ module Bugsnag::Breadcrumbs
|
|
|
23
25
|
# @api private
|
|
24
26
|
#
|
|
25
27
|
# @param name [String] the breadcrumb name
|
|
26
|
-
# @param type [String] the breadcrumb type from Bugsnag::
|
|
28
|
+
# @param type [String] the breadcrumb type from Bugsnag::BreadcrumbType
|
|
27
29
|
# @param meta_data [Hash, nil] a hash containing strings, numbers, or booleans, or nil
|
|
28
30
|
# @param auto [Symbol] set to `:auto` if the breadcrumb is automatically generated
|
|
29
31
|
def initialize(name, type, meta_data, auto)
|
|
@@ -69,8 +71,39 @@ module Bugsnag::Breadcrumbs
|
|
|
69
71
|
:name => @name,
|
|
70
72
|
:type => @type,
|
|
71
73
|
:metaData => @meta_data,
|
|
72
|
-
:timestamp => @timestamp.iso8601
|
|
74
|
+
:timestamp => @timestamp.iso8601(3)
|
|
73
75
|
}
|
|
74
76
|
end
|
|
77
|
+
|
|
78
|
+
# TODO: "message" and "metadata" can be simple attr_accessors when they
|
|
79
|
+
# replace "name" and "meta_data"
|
|
80
|
+
# NOTE: these are not aliases as YARD doesn't allow documenting the non-alias
|
|
81
|
+
# as deprecated without also marking the alias as deprecated
|
|
82
|
+
|
|
83
|
+
# The breadcrumb message
|
|
84
|
+
# @!attribute message
|
|
85
|
+
# @return [String]
|
|
86
|
+
def message
|
|
87
|
+
@name
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# @param message [String]
|
|
91
|
+
# @return [void]
|
|
92
|
+
def message=(message)
|
|
93
|
+
@name = message
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# A Hash containing arbitrary metadata associated with this breadcrumb
|
|
97
|
+
# @!attribute metadata
|
|
98
|
+
# @return [Hash, nil]
|
|
99
|
+
def metadata
|
|
100
|
+
@meta_data
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# @param metadata [Hash, nil]
|
|
104
|
+
# @return [void]
|
|
105
|
+
def metadata=(metadata)
|
|
106
|
+
@meta_data = metadata
|
|
107
|
+
end
|
|
75
108
|
end
|
|
76
109
|
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Bugsnag::Breadcrumbs
|
|
2
|
+
class OnBreadcrumbCallbackList
|
|
3
|
+
def initialize(configuration)
|
|
4
|
+
@callbacks = Set.new
|
|
5
|
+
@mutex = Mutex.new
|
|
6
|
+
@configuration = configuration
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
##
|
|
10
|
+
# @param callback [Proc, Method, #call]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def add(callback)
|
|
13
|
+
@mutex.synchronize do
|
|
14
|
+
@callbacks.add(callback)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
##
|
|
19
|
+
# @param callback [Proc, Method, #call]
|
|
20
|
+
# @return [void]
|
|
21
|
+
def remove(callback)
|
|
22
|
+
@mutex.synchronize do
|
|
23
|
+
@callbacks.delete(callback)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
##
|
|
28
|
+
# @param breadcrumb [Breadcrumb]
|
|
29
|
+
# @return [void]
|
|
30
|
+
def call(breadcrumb)
|
|
31
|
+
@callbacks.each do |callback|
|
|
32
|
+
begin
|
|
33
|
+
should_continue = callback.call(breadcrumb)
|
|
34
|
+
rescue StandardError => e
|
|
35
|
+
@configuration.warn("Error occurred in on_breadcrumb callback: '#{e}'")
|
|
36
|
+
@configuration.warn("on_breadcrumb callback stacktrace: #{e.backtrace.inspect}")
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# only stop if should_continue is explicity 'false' to allow callbacks
|
|
40
|
+
# to return 'nil'
|
|
41
|
+
if should_continue == false
|
|
42
|
+
breadcrumb.ignore!
|
|
43
|
+
break
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
require 'bugsnag/breadcrumbs/breadcrumbs'
|
|
2
|
-
|
|
3
1
|
module Bugsnag::Breadcrumbs
|
|
4
2
|
##
|
|
5
3
|
# Validates a given breadcrumb before it is stored
|
|
@@ -15,16 +13,6 @@ module Bugsnag::Breadcrumbs
|
|
|
15
13
|
#
|
|
16
14
|
# @param breadcrumb [Bugsnag::Breadcrumbs::Breadcrumb] the breadcrumb to be validated
|
|
17
15
|
def validate(breadcrumb)
|
|
18
|
-
# Check meta_data hash doesn't contain complex values
|
|
19
|
-
breadcrumb.meta_data = breadcrumb.meta_data.select do |k, v|
|
|
20
|
-
if valid_meta_data_type?(v)
|
|
21
|
-
true
|
|
22
|
-
else
|
|
23
|
-
@configuration.debug("Breadcrumb #{breadcrumb.name} meta_data #{k}:#{v.class} has been dropped for having an invalid data type")
|
|
24
|
-
false
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
16
|
# Check type is valid, set to manual otherwise
|
|
29
17
|
unless Bugsnag::Breadcrumbs::VALID_BREADCRUMB_TYPES.include?(breadcrumb.type)
|
|
30
18
|
@configuration.debug("Invalid type: #{breadcrumb.type} for breadcrumb: #{breadcrumb.name}, defaulting to #{Bugsnag::Breadcrumbs::MANUAL_BREADCRUMB_TYPE}")
|
|
@@ -37,17 +25,5 @@ module Bugsnag::Breadcrumbs
|
|
|
37
25
|
@configuration.debug("Automatic breadcrumb of type #{breadcrumb.type} ignored: #{breadcrumb.name}")
|
|
38
26
|
breadcrumb.ignore!
|
|
39
27
|
end
|
|
40
|
-
|
|
41
|
-
private
|
|
42
|
-
|
|
43
|
-
##
|
|
44
|
-
# Tests whether the meta_data types are non-complex objects.
|
|
45
|
-
#
|
|
46
|
-
# Acceptable types are String, Symbol, Numeric, TrueClass, FalseClass, and nil.
|
|
47
|
-
#
|
|
48
|
-
# @param value [Object] the object to be type checked
|
|
49
|
-
def valid_meta_data_type?(value)
|
|
50
|
-
value.nil? || value.is_a?(String) || value.is_a?(Symbol) || value.is_a?(Numeric) || value.is_a?(FalseClass) || value.is_a?(TrueClass)
|
|
51
|
-
end
|
|
52
28
|
end
|
|
53
29
|
end
|