bugsnag 6.7.3 → 6.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +3 -0
- data/.rubocop_todo.yml +3 -1
- data/.travis.yml +40 -0
- data/CHANGELOG.md +22 -0
- data/Gemfile +9 -4
- data/VERSION +1 -1
- data/features/fixtures/delayed_job/.dockerignore +1 -0
- data/features/fixtures/delayed_job/Dockerfile +12 -0
- data/features/fixtures/delayed_job/Gemfile +4 -0
- data/features/fixtures/docker-compose.yml +247 -0
- data/features/fixtures/plain/.dockerignore +2 -0
- data/features/fixtures/plain/Dockerfile +12 -0
- data/features/fixtures/plain/app/Gemfile +3 -0
- data/features/fixtures/plain/app/app.rb +40 -0
- data/features/fixtures/plain/app/configuration/api_key.rb +9 -0
- data/features/fixtures/plain/app/configuration/proxy.rb +14 -0
- data/features/fixtures/plain/app/configuration/send_handled.rb +7 -0
- data/features/fixtures/plain/app/configuration/send_unhandled.rb +9 -0
- data/features/fixtures/plain/app/delivery/fork_threadpool.rb +25 -0
- data/features/fixtures/plain/app/delivery/synchronous.rb +14 -0
- data/features/fixtures/plain/app/delivery/threadpool.rb +14 -0
- data/features/fixtures/plain/app/exception_data/crash.rb +34 -0
- data/features/fixtures/plain/app/exception_data/handled_context.rb +10 -0
- data/features/fixtures/plain/app/exception_data/handled_hash.rb +10 -0
- data/features/fixtures/plain/app/exception_data/handled_meta_data.rb +10 -0
- data/features/fixtures/plain/app/exception_data/handled_user_id.rb +10 -0
- data/features/fixtures/plain/app/exception_data/unhandled_context.rb +7 -0
- data/features/fixtures/plain/app/exception_data/unhandled_hash.rb +7 -0
- data/features/fixtures/plain/app/exception_data/unhandled_meta_data.rb +7 -0
- data/features/fixtures/plain/app/exception_data/unhandled_user_id.rb +7 -0
- data/features/fixtures/plain/app/filters/additional_filters.rb +11 -0
- data/features/fixtures/plain/app/filters/default_filters.rb +15 -0
- data/features/fixtures/plain/app/handled/block_metadata.rb +15 -0
- data/features/fixtures/plain/app/handled/ignore_exception.rb +12 -0
- data/features/fixtures/plain/app/handled/notify_exception.rb +9 -0
- data/features/fixtures/plain/app/handled/notify_string.rb +9 -0
- data/features/fixtures/plain/app/ignore_classes/handled.rb +8 -0
- data/features/fixtures/plain/app/ignore_classes/ignore_error.rb +8 -0
- data/features/fixtures/plain/app/ignore_classes/unhandled.rb +4 -0
- data/features/fixtures/plain/app/report_modification/add_tab.rb +16 -0
- data/features/fixtures/plain/app/report_modification/add_tab_existing.rb +22 -0
- data/features/fixtures/plain/app/report_modification/add_tab_override.rb +19 -0
- data/features/fixtures/plain/app/report_modification/ignore_report.rb +9 -0
- data/features/fixtures/plain/app/report_modification/initiators/handled_before_notify.rb +10 -0
- data/features/fixtures/plain/app/report_modification/initiators/handled_block.rb +8 -0
- data/features/fixtures/plain/app/report_modification/initiators/unhandled_before_notify.rb +11 -0
- data/features/fixtures/plain/app/report_modification/modify_api_key.rb +9 -0
- data/features/fixtures/plain/app/report_modification/modify_severity.rb +9 -0
- data/features/fixtures/plain/app/report_modification/remove_user_details.rb +14 -0
- data/features/fixtures/plain/app/report_modification/set_custom_user_details.rb +16 -0
- data/features/fixtures/plain/app/report_modification/set_user_details.rb +13 -0
- data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_before_notify.rb +25 -0
- data/features/fixtures/plain/app/stack_frame_modification/initiators/handled_block.rb +24 -0
- data/features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_before_notify.rb +26 -0
- data/features/fixtures/plain/app/stack_frame_modification/mark_frames_in_project.rb +13 -0
- data/features/fixtures/plain/app/stack_frame_modification/remove_stack_frame.rb +9 -0
- data/features/fixtures/plain/app/unhandled/Interrupt.rb +6 -0
- data/features/fixtures/plain/app/unhandled/bad_syntax.rb +1 -0
- data/features/fixtures/plain/app/unhandled/custom_error.rb +9 -0
- data/features/fixtures/plain/app/unhandled/load_error.rb +6 -0
- data/features/fixtures/plain/app/unhandled/local_jump_error.rb +10 -0
- data/features/fixtures/plain/app/unhandled/name_error.rb +6 -0
- data/features/fixtures/plain/app/unhandled/no_method_error.rb +6 -0
- data/features/fixtures/plain/app/unhandled/runtime_error.rb +6 -0
- data/features/fixtures/plain/app/unhandled/syntax_error.rb +6 -0
- data/features/fixtures/plain/app/unhandled/system_call_error.rb +6 -0
- data/features/fixtures/plain/app/unhandled/system_exit.rb +6 -0
- data/features/fixtures/plain/json/delivery_fork.json +4 -0
- data/features/fixtures/plain/json/delivery_synchronous.json +4 -0
- data/features/fixtures/plain/json/delivery_threadpool.json +4 -0
- data/features/fixtures/plain/json/filters_default_metadata_filters.json +9 -0
- data/features/fixtures/rack1/.dockerignore +1 -0
- data/features/fixtures/rack1/Dockerfile +12 -0
- data/features/fixtures/rack1/Gemfile +4 -0
- data/features/fixtures/rack1/app.rb +8 -0
- data/features/fixtures/rack2/.dockerignore +1 -0
- data/features/fixtures/rack2/Dockerfile +12 -0
- data/features/fixtures/rack2/Gemfile +4 -0
- data/features/fixtures/rack2/app.rb +8 -0
- data/features/fixtures/rails3/.dockerignore +1 -0
- data/features/fixtures/rails3/Dockerfile +16 -0
- data/features/fixtures/rails3/app/.gitignore +15 -0
- data/features/fixtures/rails3/app/Gemfile +13 -0
- data/features/fixtures/rails3/app/Rakefile +7 -0
- data/features/fixtures/rails3/app/app/assets/images/rails.png +0 -0
- data/features/fixtures/rails3/app/app/assets/javascripts/application.js +15 -0
- data/features/fixtures/rails3/app/app/assets/stylesheets/application.css +13 -0
- data/features/fixtures/rails3/app/app/controllers/api_key_controller.rb +20 -0
- data/features/fixtures/rails3/app/app/controllers/app_type_controller.rb +20 -0
- data/features/fixtures/rails3/app/app/controllers/app_version_controller.rb +25 -0
- data/features/fixtures/rails3/app/app/controllers/application_controller.rb +7 -0
- data/features/fixtures/rails3/app/app/controllers/auto_notify_controller.rb +31 -0
- data/features/fixtures/rails3/app/app/controllers/before_notify_controller.rb +44 -0
- data/features/fixtures/rails3/app/app/controllers/handled_controller.rb +26 -0
- data/features/fixtures/rails3/app/app/controllers/ignore_classes_controller.rb +23 -0
- data/features/fixtures/rails3/app/app/controllers/metadata_filters_controller.rb +16 -0
- data/features/fixtures/rails3/app/app/controllers/project_root_controller.rb +25 -0
- data/features/fixtures/rails3/app/app/controllers/release_stage_controller.rb +20 -0
- data/features/fixtures/rails3/app/app/controllers/send_code_controller.rb +20 -0
- data/features/fixtures/rails3/app/app/controllers/send_environment_controller.rb +12 -0
- data/features/fixtures/rails3/app/app/controllers/session_tracking_controller.rb +20 -0
- data/features/fixtures/rails3/app/app/controllers/unhandled_controller.rb +11 -0
- data/features/fixtures/rails3/app/app/controllers/warden_controller.rb +30 -0
- data/features/fixtures/rails3/app/app/helpers/application_helper.rb +2 -0
- 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 +6 -0
- data/features/fixtures/rails3/app/app/views/layouts/application.html.erb +14 -0
- data/features/fixtures/rails3/app/config.ru +4 -0
- data/features/fixtures/rails3/app/config/application.rb +67 -0
- data/features/fixtures/rails3/app/config/boot.rb +6 -0
- data/features/fixtures/rails3/app/config/database.yml +31 -0
- data/features/fixtures/rails3/app/config/environment.rb +5 -0
- data/features/fixtures/rails3/app/config/environments/development.rb +37 -0
- data/features/fixtures/rails3/app/config/environments/production.rb +67 -0
- data/features/fixtures/rails3/app/config/environments/rails_env.rb +37 -0
- data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +14 -0
- data/features/fixtures/rails3/app/config/initializers/secret_token.rb +7 -0
- data/features/fixtures/rails3/app/config/initializers/session_store.rb +8 -0
- data/features/fixtures/rails3/app/config/initializers/warden.rb +3 -0
- data/features/fixtures/rails3/app/config/initializers/wrap_parameters.rb +14 -0
- data/features/fixtures/rails3/app/config/locales/en.yml +5 -0
- data/features/fixtures/rails3/app/config/routes.rb +18 -0
- data/features/fixtures/rails3/app/db/migrate/20180423142727_create_users.rb +45 -0
- data/features/fixtures/rails3/app/db/schema.rb +37 -0
- data/features/fixtures/rails3/app/db/seeds.rb +7 -0
- data/features/fixtures/rails3/app/lib/assets/.gitkeep +0 -0
- data/features/fixtures/rails3/app/lib/strategies/token_strategy.rb +12 -0
- 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 +26 -0
- data/features/fixtures/rails3/app/public/422.html +26 -0
- data/features/fixtures/rails3/app/public/500.html +25 -0
- data/features/fixtures/rails3/app/public/favicon.ico +0 -0
- data/features/fixtures/rails3/app/public/index.html +241 -0
- data/features/fixtures/rails3/app/public/robots.txt +5 -0
- data/features/fixtures/rails3/app/script/rails +6 -0
- data/features/fixtures/rails4/.dockerignore +1 -0
- data/features/fixtures/rails4/Dockerfile +18 -0
- data/features/fixtures/rails4/app/.gitignore +16 -0
- data/features/fixtures/rails4/app/Gemfile +42 -0
- data/features/fixtures/rails4/app/README.rdoc +28 -0
- data/features/fixtures/rails4/app/Rakefile +6 -0
- data/features/fixtures/rails4/app/app/assets/images/.keep +0 -0
- data/features/fixtures/rails4/app/app/assets/javascripts/application.js +16 -0
- data/features/fixtures/rails4/app/app/assets/stylesheets/application.css +13 -0
- data/features/fixtures/rails4/app/app/controllers/api_key_controller.rb +20 -0
- data/features/fixtures/rails4/app/app/controllers/app_type_controller.rb +20 -0
- data/features/fixtures/rails4/app/app/controllers/app_version_controller.rb +25 -0
- data/features/fixtures/rails4/app/app/controllers/application_controller.rb +7 -0
- data/features/fixtures/rails4/app/app/controllers/auto_notify_controller.rb +31 -0
- data/features/fixtures/rails4/app/app/controllers/before_notify_controller.rb +44 -0
- data/features/fixtures/rails4/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/rails4/app/app/controllers/devise_controller.rb +32 -0
- data/features/fixtures/rails4/app/app/controllers/handled_controller.rb +26 -0
- data/features/fixtures/rails4/app/app/controllers/ignore_classes_controller.rb +23 -0
- data/features/fixtures/rails4/app/app/controllers/metadata_filters_controller.rb +16 -0
- data/features/fixtures/rails4/app/app/controllers/project_root_controller.rb +25 -0
- data/features/fixtures/rails4/app/app/controllers/release_stage_controller.rb +20 -0
- data/features/fixtures/rails4/app/app/controllers/send_code_controller.rb +20 -0
- data/features/fixtures/rails4/app/app/controllers/send_environment_controller.rb +12 -0
- data/features/fixtures/rails4/app/app/controllers/session_tracking_controller.rb +20 -0
- data/features/fixtures/rails4/app/app/controllers/unhandled_controller.rb +11 -0
- data/features/fixtures/rails4/app/app/helpers/application_helper.rb +2 -0
- 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/user.rb +6 -0
- data/features/fixtures/rails4/app/app/views/layouts/application.html.erb +14 -0
- data/features/fixtures/rails4/app/config.ru +4 -0
- data/features/fixtures/rails4/app/config/application.rb +23 -0
- data/features/fixtures/rails4/app/config/boot.rb +4 -0
- data/features/fixtures/rails4/app/config/database.yml +31 -0
- data/features/fixtures/rails4/app/config/environment.rb +5 -0
- data/features/fixtures/rails4/app/config/environments/development.rb +31 -0
- data/features/fixtures/rails4/app/config/environments/production.rb +81 -0
- data/features/fixtures/rails4/app/config/environments/rails_env.rb +30 -0
- data/features/fixtures/rails4/app/config/environments/test.rb +31 -0
- data/features/fixtures/rails4/app/config/initializers/backtrace_silencers.rb +7 -0
- data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +14 -0
- data/features/fixtures/rails4/app/config/initializers/devise.rb +283 -0
- data/features/fixtures/rails4/app/config/initializers/filter_parameter_logging.rb +5 -0
- data/features/fixtures/rails4/app/config/initializers/inflections.rb +16 -0
- data/features/fixtures/rails4/app/config/initializers/mime_types.rb +5 -0
- data/features/fixtures/rails4/app/config/initializers/secret_token.rb +12 -0
- data/features/fixtures/rails4/app/config/initializers/session_store.rb +3 -0
- data/features/fixtures/rails4/app/config/initializers/wrap_parameters.rb +14 -0
- data/features/fixtures/rails4/app/config/locales/devise.en.yml +64 -0
- data/features/fixtures/rails4/app/config/locales/en.yml +23 -0
- data/features/fixtures/rails4/app/config/routes.rb +19 -0
- data/features/fixtures/rails4/app/db/migrate/20180420160315_devise_create_users.rb +47 -0
- data/features/fixtures/rails4/app/db/seeds.rb +7 -0
- 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 +58 -0
- data/features/fixtures/rails4/app/public/422.html +58 -0
- data/features/fixtures/rails4/app/public/500.html +57 -0
- data/features/fixtures/rails4/app/public/favicon.ico +0 -0
- data/features/fixtures/rails4/app/public/robots.txt +5 -0
- 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 +15 -0
- data/features/fixtures/rails5/.dockerignore +1 -0
- data/features/fixtures/rails5/Dockerfile +18 -0
- data/features/fixtures/rails5/app/.gitignore +21 -0
- data/features/fixtures/rails5/app/Gemfile +47 -0
- data/features/fixtures/rails5/app/README.md +24 -0
- data/features/fixtures/rails5/app/Rakefile +6 -0
- data/features/fixtures/rails5/app/app/assets/config/manifest.js +3 -0
- data/features/fixtures/rails5/app/app/assets/images/.keep +0 -0
- data/features/fixtures/rails5/app/app/assets/javascripts/application.js +16 -0
- data/features/fixtures/rails5/app/app/assets/javascripts/cable.js +13 -0
- data/features/fixtures/rails5/app/app/assets/javascripts/channels/.keep +0 -0
- data/features/fixtures/rails5/app/app/assets/stylesheets/application.css +15 -0
- data/features/fixtures/rails5/app/app/channels/application_cable/channel.rb +4 -0
- data/features/fixtures/rails5/app/app/channels/application_cable/connection.rb +4 -0
- data/features/fixtures/rails5/app/app/controllers/api_key_controller.rb +16 -0
- data/features/fixtures/rails5/app/app/controllers/app_type_controller.rb +16 -0
- data/features/fixtures/rails5/app/app/controllers/app_version_controller.rb +21 -0
- data/features/fixtures/rails5/app/app/controllers/application_controller.rb +7 -0
- data/features/fixtures/rails5/app/app/controllers/auto_notify_controller.rb +27 -0
- data/features/fixtures/rails5/app/app/controllers/before_notify_controller.rb +40 -0
- data/features/fixtures/rails5/app/app/controllers/clearance_controller.rb +33 -0
- data/features/fixtures/rails5/app/app/controllers/concerns/.keep +0 -0
- data/features/fixtures/rails5/app/app/controllers/handled_controller.rb +22 -0
- data/features/fixtures/rails5/app/app/controllers/ignore_classes_controller.rb +19 -0
- data/features/fixtures/rails5/app/app/controllers/metadata_filters_controller.rb +12 -0
- data/features/fixtures/rails5/app/app/controllers/project_root_controller.rb +21 -0
- data/features/fixtures/rails5/app/app/controllers/release_stage_controller.rb +16 -0
- data/features/fixtures/rails5/app/app/controllers/send_code_controller.rb +16 -0
- data/features/fixtures/rails5/app/app/controllers/send_environment_controller.rb +8 -0
- data/features/fixtures/rails5/app/app/controllers/session_tracking_controller.rb +16 -0
- data/features/fixtures/rails5/app/app/controllers/unhandled_controller.rb +7 -0
- data/features/fixtures/rails5/app/app/helpers/application_helper.rb +2 -0
- data/features/fixtures/rails5/app/app/jobs/application_job.rb +2 -0
- data/features/fixtures/rails5/app/app/mailers/application_mailer.rb +4 -0
- data/features/fixtures/rails5/app/app/models/application_record.rb +3 -0
- data/features/fixtures/rails5/app/app/models/concerns/.keep +0 -0
- data/features/fixtures/rails5/app/app/models/user.rb +3 -0
- data/features/fixtures/rails5/app/app/views/layouts/application.html.erb +14 -0
- data/features/fixtures/rails5/app/app/views/layouts/mailer.html.erb +13 -0
- data/features/fixtures/rails5/app/app/views/layouts/mailer.text.erb +1 -0
- data/features/fixtures/rails5/app/config.ru +5 -0
- data/features/fixtures/rails5/app/config/application.rb +15 -0
- data/features/fixtures/rails5/app/config/boot.rb +3 -0
- data/features/fixtures/rails5/app/config/cable.yml +9 -0
- data/features/fixtures/rails5/app/config/database.yml +29 -0
- data/features/fixtures/rails5/app/config/environment.rb +5 -0
- data/features/fixtures/rails5/app/config/environments/development.rb +55 -0
- data/features/fixtures/rails5/app/config/environments/production.rb +87 -0
- data/features/fixtures/rails5/app/config/environments/rails_env.rb +55 -0
- data/features/fixtures/rails5/app/config/environments/test.rb +55 -0
- data/features/fixtures/rails5/app/config/initializers/assets.rb +11 -0
- data/features/fixtures/rails5/app/config/initializers/backtrace_silencers.rb +7 -0
- data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +14 -0
- data/features/fixtures/rails5/app/config/initializers/clearance.rb +5 -0
- data/features/fixtures/rails5/app/config/initializers/cookies_serializer.rb +5 -0
- data/features/fixtures/rails5/app/config/initializers/filter_parameter_logging.rb +5 -0
- data/features/fixtures/rails5/app/config/initializers/inflections.rb +16 -0
- data/features/fixtures/rails5/app/config/initializers/mime_types.rb +4 -0
- data/features/fixtures/rails5/app/config/initializers/new_framework_defaults.rb +24 -0
- data/features/fixtures/rails5/app/config/initializers/session_store.rb +3 -0
- data/features/fixtures/rails5/app/config/initializers/wrap_parameters.rb +14 -0
- data/features/fixtures/rails5/app/config/locales/devise.en.yml +64 -0
- data/features/fixtures/rails5/app/config/locales/en.yml +23 -0
- data/features/fixtures/rails5/app/config/puma.rb +47 -0
- data/features/fixtures/rails5/app/config/routes.rb +52 -0
- data/features/fixtures/rails5/app/config/secrets.yml +25 -0
- data/features/fixtures/rails5/app/config/spring.rb +6 -0
- data/features/fixtures/rails5/app/db/migrate/20180426095545_create_users.rb +17 -0
- data/features/fixtures/rails5/app/db/schema.rb +29 -0
- data/features/fixtures/rails5/app/db/seeds.rb +7 -0
- 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 +67 -0
- data/features/fixtures/rails5/app/public/422.html +67 -0
- data/features/fixtures/rails5/app/public/500.html +66 -0
- 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 +5 -0
- 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 +10 -0
- data/features/fixtures/rails5/app/tmp/.keep +0 -0
- data/features/fixtures/resque/.dockerignore +1 -0
- data/features/fixtures/resque/Dockerfile +13 -0
- data/features/fixtures/resque/Gemfile +6 -0
- data/features/fixtures/resque/Rakefile +4 -0
- data/features/fixtures/resque/app.rb +12 -0
- data/features/fixtures/sidekiq/.dockerignore +2 -0
- data/features/fixtures/sidekiq/Dockerfile +17 -0
- data/features/fixtures/sidekiq/app/Gemfile +4 -0
- data/features/fixtures/sidekiq/app/app.rb +35 -0
- data/features/fixtures/sidekiq/app/initializers/HandledError.rb +3 -0
- data/features/fixtures/sidekiq/app/initializers/UnhandledError.rb +3 -0
- data/features/fixtures/sidekiq/payloads/handled_metadata_ca_false.json +11 -0
- data/features/fixtures/sidekiq/payloads/handled_metadata_ca_true.json +12 -0
- data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_false.json +11 -0
- data/features/fixtures/sidekiq/payloads/unhandled_metadata_ca_true.json +12 -0
- data/features/fixtures/sinatra1/.dockerignore +1 -0
- data/features/fixtures/sinatra1/Dockerfile +12 -0
- data/features/fixtures/sinatra1/Gemfile +4 -0
- data/features/fixtures/sinatra1/app.rb +9 -0
- data/features/fixtures/sinatra2/.dockerignore +1 -0
- data/features/fixtures/sinatra2/Dockerfile +12 -0
- data/features/fixtures/sinatra2/Gemfile +4 -0
- data/features/fixtures/sinatra2/app.rb +9 -0
- data/features/plain_features/add_tab.feature +124 -0
- data/features/plain_features/api_key.feature +26 -0
- data/features/plain_features/app_type.feature +29 -0
- data/features/plain_features/app_version.feature +29 -0
- data/features/plain_features/auto_notify.feature +25 -0
- data/features/plain_features/delivery.feature +70 -0
- data/features/plain_features/exception_data.feature +122 -0
- data/features/plain_features/filters.feature +50 -0
- data/features/plain_features/handled_errors.feature +86 -0
- data/features/plain_features/ignore_classes.feature +31 -0
- data/features/plain_features/ignore_report.feature +32 -0
- data/features/plain_features/proxies.feature +70 -0
- data/features/plain_features/release_stages.feature +53 -0
- data/features/plain_features/report_api_key.feature +42 -0
- data/features/plain_features/report_severity.feature +44 -0
- data/features/plain_features/report_stack_frames.feature +84 -0
- data/features/plain_features/report_user.feature +120 -0
- data/features/plain_features/unhandled_errors.feature +106 -0
- data/features/rails_features/api_key.feature +59 -0
- data/features/rails_features/app_type.feature +67 -0
- data/features/rails_features/app_version.feature +84 -0
- data/features/rails_features/auto_capture_sessions.feature +61 -0
- data/features/rails_features/auto_notify.feature +114 -0
- data/features/rails_features/before_notify.feature +106 -0
- data/features/rails_features/handled.feature +103 -0
- data/features/rails_features/ignore_classes.feature +51 -0
- data/features/rails_features/meta_data_filters.feature +39 -0
- data/features/rails_features/project_root.feature +97 -0
- data/features/rails_features/release_stage.feature +86 -0
- data/features/rails_features/send_code.feature +58 -0
- data/features/rails_features/send_environment.feature +38 -0
- data/features/rails_features/unhandled.feature +40 -0
- data/features/rails_features/user_info.feature +88 -0
- data/features/sidekiq.feature +96 -0
- data/features/steps/ruby_notifier_steps.rb +77 -0
- data/features/support/env.rb +29 -0
- data/lib/bugsnag.rb +26 -0
- data/lib/bugsnag/helpers.rb +69 -7
- data/lib/bugsnag/integrations/delayed_job.rb +2 -2
- data/lib/bugsnag/integrations/railtie.rb +0 -17
- data/lib/bugsnag/stacktrace.rb +1 -0
- data/spec/bugsnag_spec.rb +56 -0
- data/spec/configuration_spec.rb +1 -0
- data/spec/fixtures/apps/rails-initializer-config/Gemfile +1 -0
- data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +1 -0
- data/spec/fixtures/apps/rails-no-config/Gemfile +1 -0
- data/spec/helper_spec.rb +77 -91
- data/spec/report_spec.rb +9 -11
- metadata +352 -3
@@ -0,0 +1,11 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Version of your assets, change this if you want to expire all your assets.
|
4
|
+
Rails.application.config.assets.version = '1.0'
|
5
|
+
|
6
|
+
# Add additional assets to the asset load path
|
7
|
+
# Rails.application.config.assets.paths << Emoji.images_path
|
8
|
+
|
9
|
+
# Precompile additional assets.
|
10
|
+
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
11
|
+
# Rails.application.config.assets.precompile += %w( search.js )
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
|
4
|
+
# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
|
5
|
+
|
6
|
+
# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code.
|
7
|
+
# Rails.backtrace_cleaner.remove_silencers!
|
@@ -0,0 +1,14 @@
|
|
1
|
+
Bugsnag.configure do |config|
|
2
|
+
config.api_key = ENV["BUGSNAG_API_KEY"] || ENV["MAZE_API_KEY"]
|
3
|
+
config.endpoint = ENV["BUGSNAG_ENDPOINT"] || ENV["MAZE_ENDPOINT"]
|
4
|
+
config.session_endpoint = ENV["BUGSNAG_ENDPOINT"] || ENV["MAZE_ENDPOINT"]
|
5
|
+
config.app_type = ENV["MAZE_APP_TYPE"] if ENV.include? "MAZE_APP_TYPE"
|
6
|
+
config.app_version = ENV["MAZE_APP_VERSION"] if ENV.include? "MAZE_APP_VERSION"
|
7
|
+
config.auto_notify = ENV["MAZE_AUTO_NOTIFY"] != "false"
|
8
|
+
config.project_root = ENV["MAZE_PROJECT_ROOT"] if ENV.include? "MAZE_PROJECT_ROOT"
|
9
|
+
config.ignore_classes << lambda { |ex| ex.class.to_s == ENV["MAZE_IGNORE_CLASS"] } if ENV.include? "MAZE_IGNORE_CLASS"
|
10
|
+
config.auto_capture_sessions = ENV["MAZE_AUTO_CAPTURE_SESSIONS"] == "true"
|
11
|
+
config.release_stage = ENV["MAZE_RELEASE_STAGE"] if ENV.include? "MAZE_RELEASE_STAGE"
|
12
|
+
config.send_code = ENV["MAZE_SEND_CODE"] != "false"
|
13
|
+
config.send_environment = ENV["MAZE_SEND_ENVIRONMENT"] == "true"
|
14
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Add new inflection rules using the following format. Inflections
|
4
|
+
# are locale specific, and you may define rules for as many different
|
5
|
+
# locales as you wish. All of these examples are active by default:
|
6
|
+
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
7
|
+
# inflect.plural /^(ox)$/i, '\1en'
|
8
|
+
# inflect.singular /^(ox)en/i, '\1'
|
9
|
+
# inflect.irregular 'person', 'people'
|
10
|
+
# inflect.uncountable %w( fish sheep )
|
11
|
+
# end
|
12
|
+
|
13
|
+
# These inflection rules are supported but not enabled by default:
|
14
|
+
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
15
|
+
# inflect.acronym 'RESTful'
|
16
|
+
# end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
#
|
3
|
+
# This file contains migration options to ease your Rails 5.0 upgrade.
|
4
|
+
#
|
5
|
+
# Read the Rails 5.0 release notes for more info on each option.
|
6
|
+
|
7
|
+
# Enable per-form CSRF tokens. Previous versions had false.
|
8
|
+
Rails.application.config.action_controller.per_form_csrf_tokens = true
|
9
|
+
|
10
|
+
# Enable origin-checking CSRF mitigation. Previous versions had false.
|
11
|
+
Rails.application.config.action_controller.forgery_protection_origin_check = true
|
12
|
+
|
13
|
+
# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`.
|
14
|
+
# Previous versions had false.
|
15
|
+
ActiveSupport.to_time_preserves_timezone = true
|
16
|
+
|
17
|
+
# Require `belongs_to` associations by default. Previous versions had false.
|
18
|
+
Rails.application.config.active_record.belongs_to_required_by_default = true
|
19
|
+
|
20
|
+
# Do not halt callback chains when a callback returns false. Previous versions had true.
|
21
|
+
ActiveSupport.halt_callback_chains_on_return_false = false
|
22
|
+
|
23
|
+
# Configure SSL options to enable HSTS with subdomains. Previous versions had false.
|
24
|
+
Rails.application.config.ssl_options = { hsts: { subdomains: true } }
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# This file contains settings for ActionController::ParamsWrapper which
|
4
|
+
# is enabled by default.
|
5
|
+
|
6
|
+
# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array.
|
7
|
+
ActiveSupport.on_load(:action_controller) do
|
8
|
+
wrap_parameters format: [:json]
|
9
|
+
end
|
10
|
+
|
11
|
+
# To enable root element in JSON for ActiveRecord objects.
|
12
|
+
# ActiveSupport.on_load(:active_record) do
|
13
|
+
# self.include_root_in_json = true
|
14
|
+
# end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# Additional translations at https://github.com/plataformatec/devise/wiki/I18n
|
2
|
+
|
3
|
+
en:
|
4
|
+
devise:
|
5
|
+
confirmations:
|
6
|
+
confirmed: "Your email address has been successfully confirmed."
|
7
|
+
send_instructions: "You will receive an email with instructions for how to confirm your email address in a few minutes."
|
8
|
+
send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions for how to confirm your email address in a few minutes."
|
9
|
+
failure:
|
10
|
+
already_authenticated: "You are already signed in."
|
11
|
+
inactive: "Your account is not activated yet."
|
12
|
+
invalid: "Invalid %{authentication_keys} or password."
|
13
|
+
locked: "Your account is locked."
|
14
|
+
last_attempt: "You have one more attempt before your account is locked."
|
15
|
+
not_found_in_database: "Invalid %{authentication_keys} or password."
|
16
|
+
timeout: "Your session expired. Please sign in again to continue."
|
17
|
+
unauthenticated: "You need to sign in or sign up before continuing."
|
18
|
+
unconfirmed: "You have to confirm your email address before continuing."
|
19
|
+
mailer:
|
20
|
+
confirmation_instructions:
|
21
|
+
subject: "Confirmation instructions"
|
22
|
+
reset_password_instructions:
|
23
|
+
subject: "Reset password instructions"
|
24
|
+
unlock_instructions:
|
25
|
+
subject: "Unlock instructions"
|
26
|
+
email_changed:
|
27
|
+
subject: "Email Changed"
|
28
|
+
password_change:
|
29
|
+
subject: "Password Changed"
|
30
|
+
omniauth_callbacks:
|
31
|
+
failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
|
32
|
+
success: "Successfully authenticated from %{kind} account."
|
33
|
+
passwords:
|
34
|
+
no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
|
35
|
+
send_instructions: "You will receive an email with instructions on how to reset your password in a few minutes."
|
36
|
+
send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
|
37
|
+
updated: "Your password has been changed successfully. You are now signed in."
|
38
|
+
updated_not_active: "Your password has been changed successfully."
|
39
|
+
registrations:
|
40
|
+
destroyed: "Bye! Your account has been successfully cancelled. We hope to see you again soon."
|
41
|
+
signed_up: "Welcome! You have signed up successfully."
|
42
|
+
signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
|
43
|
+
signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
|
44
|
+
signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please follow the link to activate your account."
|
45
|
+
update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and follow the confirm link to confirm your new email address."
|
46
|
+
updated: "Your account has been updated successfully."
|
47
|
+
sessions:
|
48
|
+
signed_in: "Signed in successfully."
|
49
|
+
signed_out: "Signed out successfully."
|
50
|
+
already_signed_out: "Signed out successfully."
|
51
|
+
unlocks:
|
52
|
+
send_instructions: "You will receive an email with instructions for how to unlock your account in a few minutes."
|
53
|
+
send_paranoid_instructions: "If your account exists, you will receive an email with instructions for how to unlock it in a few minutes."
|
54
|
+
unlocked: "Your account has been unlocked successfully. Please sign in to continue."
|
55
|
+
errors:
|
56
|
+
messages:
|
57
|
+
already_confirmed: "was already confirmed, please try signing in"
|
58
|
+
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
|
59
|
+
expired: "has expired, please request a new one"
|
60
|
+
not_found: "not found"
|
61
|
+
not_locked: "was not locked"
|
62
|
+
not_saved:
|
63
|
+
one: "1 error prohibited this %{resource} from being saved:"
|
64
|
+
other: "%{count} errors prohibited this %{resource} from being saved:"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Files in the config/locales directory are used for internationalization
|
2
|
+
# and are automatically loaded by Rails. If you want to use locales other
|
3
|
+
# than English, add the necessary files in this directory.
|
4
|
+
#
|
5
|
+
# To use the locales, use `I18n.t`:
|
6
|
+
#
|
7
|
+
# I18n.t 'hello'
|
8
|
+
#
|
9
|
+
# In views, this is aliased to just `t`:
|
10
|
+
#
|
11
|
+
# <%= t('hello') %>
|
12
|
+
#
|
13
|
+
# To use a different locale, set it with `I18n.locale`:
|
14
|
+
#
|
15
|
+
# I18n.locale = :es
|
16
|
+
#
|
17
|
+
# This would use the information in config/locales/es.yml.
|
18
|
+
#
|
19
|
+
# To learn more, please read the Rails Internationalization guide
|
20
|
+
# available at http://guides.rubyonrails.org/i18n.html.
|
21
|
+
|
22
|
+
en:
|
23
|
+
hello: "Hello world"
|
@@ -0,0 +1,47 @@
|
|
1
|
+
# Puma can serve each request in a thread from an internal thread pool.
|
2
|
+
# The `threads` method setting takes two numbers a minimum and maximum.
|
3
|
+
# Any libraries that use thread pools should be configured to match
|
4
|
+
# the maximum value specified for Puma. Default is set to 5 threads for minimum
|
5
|
+
# and maximum, this matches the default thread size of Active Record.
|
6
|
+
#
|
7
|
+
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i
|
8
|
+
threads threads_count, threads_count
|
9
|
+
|
10
|
+
# Specifies the `port` that Puma will listen on to receive requests, default is 3000.
|
11
|
+
#
|
12
|
+
port ENV.fetch("PORT") { 3000 }
|
13
|
+
|
14
|
+
# Specifies the `environment` that Puma will run in.
|
15
|
+
#
|
16
|
+
environment ENV.fetch("RAILS_ENV") { "development" }
|
17
|
+
|
18
|
+
# Specifies the number of `workers` to boot in clustered mode.
|
19
|
+
# Workers are forked webserver processes. If using threads and workers together
|
20
|
+
# the concurrency of the application would be max `threads` * `workers`.
|
21
|
+
# Workers do not work on JRuby or Windows (both of which do not support
|
22
|
+
# processes).
|
23
|
+
#
|
24
|
+
# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
|
25
|
+
|
26
|
+
# Use the `preload_app!` method when specifying a `workers` number.
|
27
|
+
# This directive tells Puma to first boot the application and load code
|
28
|
+
# before forking the application. This takes advantage of Copy On Write
|
29
|
+
# process behavior so workers use less memory. If you use this option
|
30
|
+
# you need to make sure to reconnect any threads in the `on_worker_boot`
|
31
|
+
# block.
|
32
|
+
#
|
33
|
+
# preload_app!
|
34
|
+
|
35
|
+
# The code in the `on_worker_boot` will be called if you are using
|
36
|
+
# clustered mode by specifying a number of `workers`. After each worker
|
37
|
+
# process is booted this block will be run, if you are using `preload_app!`
|
38
|
+
# option you will want to use this block to reconnect to any threads
|
39
|
+
# or connections that may have been created at application boot, Ruby
|
40
|
+
# cannot share connections between processes.
|
41
|
+
#
|
42
|
+
# on_worker_boot do
|
43
|
+
# ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
|
44
|
+
# end
|
45
|
+
|
46
|
+
# Allow puma to be restarted by `rails restart` command.
|
47
|
+
plugin :tmp_restart
|
@@ -0,0 +1,52 @@
|
|
1
|
+
Rails.application.routes.draw do
|
2
|
+
get '/', to: 'application#index'
|
3
|
+
|
4
|
+
get 'unhandled/error', to: 'unhandled#error'
|
5
|
+
|
6
|
+
get 'handled/unthrown', to: 'handled#unthrown'
|
7
|
+
get 'handled/thrown', to: 'handled#thrown'
|
8
|
+
get 'handled/string_notify', to: 'handled#string_notify'
|
9
|
+
|
10
|
+
get 'before_notify/handled', to: 'before_notify#handled'
|
11
|
+
get 'before_notify/unhandled', to: 'before_notify#unhandled'
|
12
|
+
get 'before_notify/inline', to: 'before_notify#inline'
|
13
|
+
|
14
|
+
get 'api_key/environment', to: 'api_key#environment'
|
15
|
+
get 'api_key/changing', to: 'api_key#changing'
|
16
|
+
|
17
|
+
get 'app_type/initializer', to: 'app_type#initializer'
|
18
|
+
get 'app_type/after', to: 'app_type#after'
|
19
|
+
|
20
|
+
get 'app_version/default', to: 'app_version#default'
|
21
|
+
get 'app_version/initializer', to: 'app_version#initializer'
|
22
|
+
get 'app_version/after', to: 'app_version#after'
|
23
|
+
|
24
|
+
get 'auto_notify/unhandled', to: 'auto_notify#unhandled'
|
25
|
+
get 'auto_notify/handled', to: 'auto_notify#handled'
|
26
|
+
get 'auto_notify/unhandled_after', to: 'auto_notify#unhandled_after'
|
27
|
+
get 'auto_notify/handled_after', to: 'auto_notify#handled_after'
|
28
|
+
|
29
|
+
get 'project_root/default', to: 'project_root#default'
|
30
|
+
get 'project_root/initializer', to: 'project_root#initializer'
|
31
|
+
get 'project_root/after', to: 'project_root#after'
|
32
|
+
|
33
|
+
get 'ignore_classes/initializer', to: 'ignore_classes#initializer'
|
34
|
+
get 'ignore_classes/after', to: 'ignore_classes#after'
|
35
|
+
|
36
|
+
get 'metadata_filters/filter', to: 'metadata_filters#filter'
|
37
|
+
|
38
|
+
get 'session_tracking/initializer', to: 'session_tracking#initializer'
|
39
|
+
get 'session_tracking/after', to: 'session_tracking#after'
|
40
|
+
|
41
|
+
get 'release_stage/default', to: 'release_stage#default'
|
42
|
+
get 'release_stage/after', to: 'release_stage#after'
|
43
|
+
|
44
|
+
get 'send_code/initializer', to: 'send_code#initializer'
|
45
|
+
get 'send_code/after', to: 'send_code#after'
|
46
|
+
|
47
|
+
get 'send_environment/initializer', to: 'send_environment#initializer'
|
48
|
+
|
49
|
+
get 'clearance/create', to: 'clearance#create'
|
50
|
+
get 'clearance/unhandled', to: 'clearance#unhandled'
|
51
|
+
get 'clearance/handled', to: 'clearance#handled'
|
52
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
|
3
|
+
# Your secret key is used for verifying the integrity of signed cookies.
|
4
|
+
# If you change this key, all old signed cookies will become invalid!
|
5
|
+
|
6
|
+
# Make sure the secret is at least 30 characters and all random,
|
7
|
+
# no regular words or you'll be exposed to dictionary attacks.
|
8
|
+
# You can use `rails secret` to generate a secure secret key.
|
9
|
+
|
10
|
+
# Make sure the secrets in this file are kept private
|
11
|
+
# if you're sharing your code publicly.
|
12
|
+
|
13
|
+
development:
|
14
|
+
secret_key_base: c345a1e91467975e78d76549e255bcbb06721583427a3317cc3415dafe3decb7dc9ba3dfd84059395a56d8edd70d47353d66283a9d0e1f73e96bf9740ff70263
|
15
|
+
|
16
|
+
test:
|
17
|
+
secret_key_base: 7b894ff0ec406aa23a63031cc6b855fddb787d19fe92bd160a0da122b4068eb8042eec392581df7f2c966a64befae7e80d854f2b54473d13369be670589eeff7
|
18
|
+
|
19
|
+
rails_env:
|
20
|
+
secret_key_base: 645267556B58703272357538782F413F4428472B4B6250655368566D5971337436763979244226452948404D635166546A576E5A7234753778217A25432A462D
|
21
|
+
|
22
|
+
# Do not keep production secrets in the repository,
|
23
|
+
# instead read values from the environment.
|
24
|
+
production:
|
25
|
+
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateUsers < ActiveRecord::Migration[5.0]
|
2
|
+
def change
|
3
|
+
create_table :users do |t|
|
4
|
+
t.timestamps null: false
|
5
|
+
t.string :email, null: false
|
6
|
+
t.string :name
|
7
|
+
t.string :first_name
|
8
|
+
t.string :last_name
|
9
|
+
t.string :encrypted_password, limit: 128, null: false
|
10
|
+
t.string :confirmation_token, limit: 128
|
11
|
+
t.string :remember_token, limit: 128, null: false
|
12
|
+
end
|
13
|
+
|
14
|
+
add_index :users, :email
|
15
|
+
add_index :users, :remember_token
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# This file is auto-generated from the current state of the database. Instead
|
2
|
+
# of editing this file, please use the migrations feature of Active Record to
|
3
|
+
# incrementally modify your database, and then regenerate this schema definition.
|
4
|
+
#
|
5
|
+
# Note that this schema.rb definition is the authoritative source for your
|
6
|
+
# database schema. If you need to create the application database on another
|
7
|
+
# system, you should be using db:schema:load, not running all the migrations
|
8
|
+
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
9
|
+
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
10
|
+
#
|
11
|
+
# It's strongly recommended that you check this file into your version control system.
|
12
|
+
|
13
|
+
ActiveRecord::Schema.define(version: 20180426095545) do
|
14
|
+
|
15
|
+
create_table "users", force: :cascade do |t|
|
16
|
+
t.datetime "created_at", null: false
|
17
|
+
t.datetime "updated_at", null: false
|
18
|
+
t.string "email", null: false
|
19
|
+
t.string "name"
|
20
|
+
t.string "first_name"
|
21
|
+
t.string "last_name"
|
22
|
+
t.string "encrypted_password", limit: 128, null: false
|
23
|
+
t.string "confirmation_token", limit: 128
|
24
|
+
t.string "remember_token", limit: 128, null: false
|
25
|
+
t.index ["email"], name: "index_users_on_email"
|
26
|
+
t.index ["remember_token"], name: "index_users_on_remember_token"
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# This file should contain all the record creation needed to seed the database with its default values.
|
2
|
+
# The data can then be loaded with the rails db:seed command (or created alongside the database with db:setup).
|
3
|
+
#
|
4
|
+
# Examples:
|
5
|
+
#
|
6
|
+
# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }])
|
7
|
+
# Character.create(name: 'Luke', movie: movies.first)
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,67 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>The page you were looking for doesn't exist (404)</title>
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
6
|
+
<style>
|
7
|
+
body {
|
8
|
+
background-color: #EFEFEF;
|
9
|
+
color: #2E2F30;
|
10
|
+
text-align: center;
|
11
|
+
font-family: arial, sans-serif;
|
12
|
+
margin: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
div.dialog {
|
16
|
+
width: 95%;
|
17
|
+
max-width: 33em;
|
18
|
+
margin: 4em auto 0;
|
19
|
+
}
|
20
|
+
|
21
|
+
div.dialog > div {
|
22
|
+
border: 1px solid #CCC;
|
23
|
+
border-right-color: #999;
|
24
|
+
border-left-color: #999;
|
25
|
+
border-bottom-color: #BBB;
|
26
|
+
border-top: #B00100 solid 4px;
|
27
|
+
border-top-left-radius: 9px;
|
28
|
+
border-top-right-radius: 9px;
|
29
|
+
background-color: white;
|
30
|
+
padding: 7px 12% 0;
|
31
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
32
|
+
}
|
33
|
+
|
34
|
+
h1 {
|
35
|
+
font-size: 100%;
|
36
|
+
color: #730E15;
|
37
|
+
line-height: 1.5em;
|
38
|
+
}
|
39
|
+
|
40
|
+
div.dialog > p {
|
41
|
+
margin: 0 0 1em;
|
42
|
+
padding: 1em;
|
43
|
+
background-color: #F7F7F7;
|
44
|
+
border: 1px solid #CCC;
|
45
|
+
border-right-color: #999;
|
46
|
+
border-left-color: #999;
|
47
|
+
border-bottom-color: #999;
|
48
|
+
border-bottom-left-radius: 4px;
|
49
|
+
border-bottom-right-radius: 4px;
|
50
|
+
border-top-color: #DADADA;
|
51
|
+
color: #666;
|
52
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
53
|
+
}
|
54
|
+
</style>
|
55
|
+
</head>
|
56
|
+
|
57
|
+
<body>
|
58
|
+
<!-- This file lives in public/404.html -->
|
59
|
+
<div class="dialog">
|
60
|
+
<div>
|
61
|
+
<h1>The page you were looking for doesn't exist.</h1>
|
62
|
+
<p>You may have mistyped the address or the page may have moved.</p>
|
63
|
+
</div>
|
64
|
+
<p>If you are the application owner check the logs for more information.</p>
|
65
|
+
</div>
|
66
|
+
</body>
|
67
|
+
</html>
|