omg-railties 8.0.0.alpha3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +171 -0
- data/MIT-LICENSE +20 -0
- data/RDOC_MAIN.md +99 -0
- data/README.rdoc +39 -0
- data/exe/rails +10 -0
- data/lib/minitest/rails_plugin.rb +140 -0
- data/lib/rails/all.rb +21 -0
- data/lib/rails/api/generator.rb +38 -0
- data/lib/rails/api/task.rb +235 -0
- data/lib/rails/app_loader.rb +77 -0
- data/lib/rails/application/bootstrap.rb +118 -0
- data/lib/rails/application/configuration.rb +659 -0
- data/lib/rails/application/default_middleware_stack.rb +140 -0
- data/lib/rails/application/dummy_config.rb +19 -0
- data/lib/rails/application/finisher.rb +238 -0
- data/lib/rails/application/routes_reloader.rb +79 -0
- data/lib/rails/application.rb +658 -0
- data/lib/rails/application_controller.rb +28 -0
- data/lib/rails/autoloaders/inflector.rb +21 -0
- data/lib/rails/autoloaders.rb +48 -0
- data/lib/rails/backtrace_cleaner.rb +42 -0
- data/lib/rails/cli.rb +21 -0
- data/lib/rails/code_statistics.rb +159 -0
- data/lib/rails/code_statistics_calculator.rb +99 -0
- data/lib/rails/command/actions.rb +52 -0
- data/lib/rails/command/base.rb +185 -0
- data/lib/rails/command/behavior.rb +84 -0
- data/lib/rails/command/environment_argument.rb +56 -0
- data/lib/rails/command/helpers/editor.rb +40 -0
- data/lib/rails/command.rb +172 -0
- data/lib/rails/commands/about/about_command.rb +14 -0
- data/lib/rails/commands/app/update_command.rb +94 -0
- data/lib/rails/commands/application/application_command.rb +33 -0
- data/lib/rails/commands/boot/boot_command.rb +14 -0
- data/lib/rails/commands/console/console_command.rb +91 -0
- data/lib/rails/commands/console/irb_console.rb +136 -0
- data/lib/rails/commands/credentials/USAGE +73 -0
- data/lib/rails/commands/credentials/credentials_command/diffing.rb +53 -0
- data/lib/rails/commands/credentials/credentials_command.rb +139 -0
- data/lib/rails/commands/db/system/change/change_command.rb +26 -0
- data/lib/rails/commands/dbconsole/dbconsole_command.rb +88 -0
- data/lib/rails/commands/destroy/destroy_command.rb +29 -0
- data/lib/rails/commands/dev/dev_command.rb +14 -0
- data/lib/rails/commands/devcontainer/devcontainer_command.rb +39 -0
- data/lib/rails/commands/encrypted/USAGE +23 -0
- data/lib/rails/commands/encrypted/encrypted_command.rb +98 -0
- data/lib/rails/commands/gem_help/USAGE +16 -0
- data/lib/rails/commands/gem_help/gem_help_command.rb +13 -0
- data/lib/rails/commands/generate/generate_command.rb +30 -0
- data/lib/rails/commands/help/USAGE +17 -0
- data/lib/rails/commands/help/help_command.rb +34 -0
- data/lib/rails/commands/initializers/initializers_command.rb +20 -0
- data/lib/rails/commands/middleware/middleware_command.rb +17 -0
- data/lib/rails/commands/new/new_command.rb +21 -0
- data/lib/rails/commands/notes/notes_command.rb +30 -0
- data/lib/rails/commands/plugin/plugin_command.rb +47 -0
- data/lib/rails/commands/rake/rake_command.rb +55 -0
- data/lib/rails/commands/restart/restart_command.rb +14 -0
- data/lib/rails/commands/routes/routes_command.rb +49 -0
- data/lib/rails/commands/runner/USAGE +22 -0
- data/lib/rails/commands/runner/runner_command.rb +81 -0
- data/lib/rails/commands/secret/secret_command.rb +13 -0
- data/lib/rails/commands/server/server_command.rb +290 -0
- data/lib/rails/commands/stats/stats_command.rb +19 -0
- data/lib/rails/commands/test/USAGE +14 -0
- data/lib/rails/commands/test/test_command.rb +81 -0
- data/lib/rails/commands/unused_routes/unused_routes_command.rb +75 -0
- data/lib/rails/commands/version/version_command.rb +12 -0
- data/lib/rails/commands.rb +18 -0
- data/lib/rails/configuration.rb +170 -0
- data/lib/rails/console/app.rb +8 -0
- data/lib/rails/console/helpers.rb +8 -0
- data/lib/rails/console/methods.rb +23 -0
- data/lib/rails/deprecator.rb +7 -0
- data/lib/rails/dev_caching.rb +44 -0
- data/lib/rails/engine/commands.rb +9 -0
- data/lib/rails/engine/configuration.rb +138 -0
- data/lib/rails/engine/lazy_route_set.rb +109 -0
- data/lib/rails/engine/railties.rb +23 -0
- data/lib/rails/engine/updater.rb +21 -0
- data/lib/rails/engine.rb +760 -0
- data/lib/rails/gem_version.rb +17 -0
- data/lib/rails/generators/actions/create_migration.rb +75 -0
- data/lib/rails/generators/actions.rb +528 -0
- data/lib/rails/generators/active_model.rb +94 -0
- data/lib/rails/generators/app_base.rb +806 -0
- data/lib/rails/generators/app_name.rb +39 -0
- data/lib/rails/generators/base.rb +432 -0
- data/lib/rails/generators/database.rb +287 -0
- data/lib/rails/generators/erb/authentication/authentication_generator.rb +15 -0
- data/lib/rails/generators/erb/authentication/templates/views/passwords/edit.html.erb +9 -0
- data/lib/rails/generators/erb/authentication/templates/views/passwords/new.html.erb +8 -0
- data/lib/rails/generators/erb/authentication/templates/views/sessions/new.html.erb +11 -0
- data/lib/rails/generators/erb/controller/controller_generator.rb +24 -0
- data/lib/rails/generators/erb/controller/templates/view.html.erb.tt +2 -0
- data/lib/rails/generators/erb/mailer/mailer_generator.rb +41 -0
- data/lib/rails/generators/erb/mailer/templates/layout.html.erb.tt +13 -0
- data/lib/rails/generators/erb/mailer/templates/layout.text.erb.tt +1 -0
- data/lib/rails/generators/erb/mailer/templates/view.html.erb.tt +5 -0
- data/lib/rails/generators/erb/mailer/templates/view.text.erb.tt +3 -0
- data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +34 -0
- data/lib/rails/generators/erb/scaffold/templates/_form.html.erb.tt +37 -0
- data/lib/rails/generators/erb/scaffold/templates/edit.html.erb.tt +12 -0
- data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +16 -0
- data/lib/rails/generators/erb/scaffold/templates/new.html.erb.tt +11 -0
- data/lib/rails/generators/erb/scaffold/templates/partial.html.erb.tt +17 -0
- data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +10 -0
- data/lib/rails/generators/erb.rb +26 -0
- data/lib/rails/generators/generated_attribute.rb +274 -0
- data/lib/rails/generators/migration.rb +71 -0
- data/lib/rails/generators/model_helpers.rb +62 -0
- data/lib/rails/generators/named_base.rb +227 -0
- data/lib/rails/generators/rails/app/USAGE +31 -0
- data/lib/rails/generators/rails/app/app_generator.rb +678 -0
- data/lib/rails/generators/rails/app/templates/Dockerfile.tt +119 -0
- data/lib/rails/generators/rails/app/templates/Gemfile.tt +83 -0
- data/lib/rails/generators/rails/app/templates/README.md.tt +24 -0
- data/lib/rails/generators/rails/app/templates/Rakefile.tt +6 -0
- data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +15 -0
- data/lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt +6 -0
- data/lib/rails/generators/rails/app/templates/app/helpers/application_helper.rb.tt +2 -0
- data/lib/rails/generators/rails/app/templates/app/jobs/application_job.rb.tt +7 -0
- data/lib/rails/generators/rails/app/templates/app/mailers/application_mailer.rb.tt +4 -0
- data/lib/rails/generators/rails/app/templates/app/models/application_record.rb.tt +3 -0
- data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +33 -0
- data/lib/rails/generators/rails/app/templates/app/views/layouts/mailer.html.erb.tt +13 -0
- data/lib/rails/generators/rails/app/templates/app/views/layouts/mailer.text.erb.tt +1 -0
- data/lib/rails/generators/rails/app/templates/app/views/pwa/manifest.json.erb.tt +22 -0
- data/lib/rails/generators/rails/app/templates/app/views/pwa/service-worker.js +26 -0
- data/lib/rails/generators/rails/app/templates/bin/brakeman.tt +6 -0
- data/lib/rails/generators/rails/app/templates/bin/dev.tt +1 -0
- data/lib/rails/generators/rails/app/templates/bin/rails.tt +3 -0
- data/lib/rails/generators/rails/app/templates/bin/rake.tt +3 -0
- data/lib/rails/generators/rails/app/templates/bin/rubocop.tt +7 -0
- data/lib/rails/generators/rails/app/templates/bin/setup.tt +45 -0
- data/lib/rails/generators/rails/app/templates/bin/thrust.tt +4 -0
- data/lib/rails/generators/rails/app/templates/config/application.rb.tt +42 -0
- data/lib/rails/generators/rails/app/templates/config/boot.rb.tt +6 -0
- data/lib/rails/generators/rails/app/templates/config/cable.yml.tt +10 -0
- data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +82 -0
- data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +114 -0
- data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +72 -0
- data/lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt +82 -0
- data/lib/rails/generators/rails/app/templates/config/deploy.yml.tt +107 -0
- data/lib/rails/generators/rails/app/templates/config/environment.rb.tt +5 -0
- data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +89 -0
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +125 -0
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +62 -0
- data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +7 -0
- data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +25 -0
- data/lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt +16 -0
- data/lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt +8 -0
- data/lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt +16 -0
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_0.rb.tt +25 -0
- data/lib/rails/generators/rails/app/templates/config/locales/en.yml +31 -0
- data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +43 -0
- data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +16 -0
- data/lib/rails/generators/rails/app/templates/config/storage.yml.tt +34 -0
- data/lib/rails/generators/rails/app/templates/config.ru.tt +6 -0
- data/lib/rails/generators/rails/app/templates/db/seeds.rb.tt +9 -0
- data/lib/rails/generators/rails/app/templates/docker-entrypoint.tt +16 -0
- data/lib/rails/generators/rails/app/templates/dockerignore.tt +56 -0
- data/lib/rails/generators/rails/app/templates/env.erb.tt +5 -0
- data/lib/rails/generators/rails/app/templates/gitattributes.tt +9 -0
- data/lib/rails/generators/rails/app/templates/github/ci.yml.tt +138 -0
- data/lib/rails/generators/rails/app/templates/github/dependabot.yml +12 -0
- data/lib/rails/generators/rails/app/templates/gitignore.tt +38 -0
- data/lib/rails/generators/rails/app/templates/node-version.tt +1 -0
- data/lib/rails/generators/rails/app/templates/public/400.html +67 -0
- data/lib/rails/generators/rails/app/templates/public/404.html +67 -0
- data/lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html +66 -0
- data/lib/rails/generators/rails/app/templates/public/422.html +67 -0
- data/lib/rails/generators/rails/app/templates/public/500.html +66 -0
- data/lib/rails/generators/rails/app/templates/public/icon.png +0 -0
- data/lib/rails/generators/rails/app/templates/public/icon.svg +3 -0
- data/lib/rails/generators/rails/app/templates/public/robots.txt +1 -0
- data/lib/rails/generators/rails/app/templates/rubocop.yml.tt +8 -0
- data/lib/rails/generators/rails/app/templates/ruby-version.tt +1 -0
- data/lib/rails/generators/rails/app/templates/test/application_system_test_case.rb.tt +5 -0
- data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +21 -0
- data/lib/rails/generators/rails/application_record/application_record_generator.rb +13 -0
- data/lib/rails/generators/rails/authentication/USAGE +6 -0
- data/lib/rails/generators/rails/authentication/authentication_generator.rb +54 -0
- data/lib/rails/generators/rails/authentication/templates/controllers/concerns/authentication.rb +55 -0
- data/lib/rails/generators/rails/authentication/templates/controllers/passwords_controller.rb +33 -0
- data/lib/rails/generators/rails/authentication/templates/controllers/sessions_controller.rb +21 -0
- data/lib/rails/generators/rails/authentication/templates/mailers/passwords_mailer.rb +6 -0
- data/lib/rails/generators/rails/authentication/templates/models/current.rb +4 -0
- data/lib/rails/generators/rails/authentication/templates/models/session.rb +3 -0
- data/lib/rails/generators/rails/authentication/templates/models/user.rb +6 -0
- data/lib/rails/generators/rails/authentication/templates/test/mailers/previews/passwords_mailer_preview.rb +7 -0
- data/lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.html.erb +4 -0
- data/lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.text.erb +2 -0
- data/lib/rails/generators/rails/benchmark/USAGE +19 -0
- data/lib/rails/generators/rails/benchmark/benchmark_generator.rb +30 -0
- data/lib/rails/generators/rails/benchmark/templates/benchmark.rb.tt +15 -0
- data/lib/rails/generators/rails/controller/USAGE +26 -0
- data/lib/rails/generators/rails/controller/controller_generator.rb +42 -0
- data/lib/rails/generators/rails/controller/templates/controller.rb.tt +9 -0
- data/lib/rails/generators/rails/credentials/credentials_generator.rb +61 -0
- data/lib/rails/generators/rails/credentials/templates/credentials.yml.tt +12 -0
- data/lib/rails/generators/rails/db/system/change/change_generator.rb +206 -0
- data/lib/rails/generators/rails/devcontainer/devcontainer_generator.rb +168 -0
- data/lib/rails/generators/rails/devcontainer/templates/devcontainer/Dockerfile.tt +3 -0
- data/lib/rails/generators/rails/devcontainer/templates/devcontainer/compose.yaml.tt +47 -0
- data/lib/rails/generators/rails/devcontainer/templates/devcontainer/devcontainer.json.tt +37 -0
- data/lib/rails/generators/rails/encrypted_file/encrypted_file_generator.rb +31 -0
- data/lib/rails/generators/rails/encryption_key_file/encryption_key_file_generator.rb +57 -0
- data/lib/rails/generators/rails/generator/USAGE +13 -0
- data/lib/rails/generators/rails/generator/generator_generator.rb +27 -0
- data/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt +3 -0
- data/lib/rails/generators/rails/generator/templates/USAGE.tt +8 -0
- data/lib/rails/generators/rails/generator/templates/templates/.empty_directory +0 -0
- data/lib/rails/generators/rails/helper/USAGE +12 -0
- data/lib/rails/generators/rails/helper/helper_generator.rb +20 -0
- data/lib/rails/generators/rails/helper/templates/helper.rb.tt +4 -0
- data/lib/rails/generators/rails/integration_test/USAGE +10 -0
- data/lib/rails/generators/rails/integration_test/integration_test_generator.rb +9 -0
- data/lib/rails/generators/rails/master_key/master_key_generator.rb +53 -0
- data/lib/rails/generators/rails/migration/USAGE +45 -0
- data/lib/rails/generators/rails/migration/migration_generator.rb +14 -0
- data/lib/rails/generators/rails/model/model_generator.rb +18 -0
- data/lib/rails/generators/rails/plugin/USAGE +21 -0
- data/lib/rails/generators/rails/plugin/plugin_generator.rb +499 -0
- data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +28 -0
- data/lib/rails/generators/rails/plugin/templates/Gemfile.tt +23 -0
- data/lib/rails/generators/rails/plugin/templates/MIT-LICENSE.tt +20 -0
- data/lib/rails/generators/rails/plugin/templates/README.md.tt +28 -0
- data/lib/rails/generators/rails/plugin/templates/Rakefile.tt +14 -0
- data/lib/rails/generators/rails/plugin/templates/app/controllers/%namespaced_name%/application_controller.rb.tt +5 -0
- data/lib/rails/generators/rails/plugin/templates/app/helpers/%namespaced_name%/application_helper.rb.tt +5 -0
- data/lib/rails/generators/rails/plugin/templates/app/jobs/%namespaced_name%/application_job.rb.tt +5 -0
- data/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +7 -0
- data/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +6 -0
- data/lib/rails/generators/rails/plugin/templates/app/views/layouts/%namespaced_name%/application.html.erb.tt +17 -0
- data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +15 -0
- data/lib/rails/generators/rails/plugin/templates/bin/rubocop.tt +7 -0
- data/lib/rails/generators/rails/plugin/templates/bin/test.tt +4 -0
- data/lib/rails/generators/rails/plugin/templates/config/routes.rb.tt +6 -0
- data/lib/rails/generators/rails/plugin/templates/github/ci.yml.tt +103 -0
- data/lib/rails/generators/rails/plugin/templates/github/dependabot.yml +12 -0
- data/lib/rails/generators/rails/plugin/templates/gitignore.tt +14 -0
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +7 -0
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/railtie.rb.tt +5 -0
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt +1 -0
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%.rb.tt +8 -0
- data/lib/rails/generators/rails/plugin/templates/lib/tasks/%namespaced_name%_tasks.rake.tt +4 -0
- data/lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt +5 -0
- data/lib/rails/generators/rails/plugin/templates/rails/routes.rb.tt +3 -0
- data/lib/rails/generators/rails/plugin/templates/rails/stylesheets.css +15 -0
- data/lib/rails/generators/rails/plugin/templates/rubocop.yml.tt +8 -0
- data/lib/rails/generators/rails/plugin/templates/test/%namespaced_name%_test.rb.tt +7 -0
- data/lib/rails/generators/rails/plugin/templates/test/application_system_test_case.rb.tt +5 -0
- data/lib/rails/generators/rails/plugin/templates/test/integration/navigation_test.rb.tt +7 -0
- data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +21 -0
- data/lib/rails/generators/rails/resource/USAGE +23 -0
- data/lib/rails/generators/rails/resource/resource_generator.rb +27 -0
- data/lib/rails/generators/rails/resource_route/resource_route_generator.rb +23 -0
- data/lib/rails/generators/rails/scaffold/USAGE +41 -0
- data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +18 -0
- data/lib/rails/generators/rails/scaffold_controller/USAGE +19 -0
- data/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb +56 -0
- data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +57 -0
- data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +64 -0
- data/lib/rails/generators/rails/script/USAGE +18 -0
- data/lib/rails/generators/rails/script/script_generator.rb +18 -0
- data/lib/rails/generators/rails/script/templates/script.rb.tt +3 -0
- data/lib/rails/generators/rails/system_test/USAGE +10 -0
- data/lib/rails/generators/rails/system_test/system_test_generator.rb +9 -0
- data/lib/rails/generators/rails/task/USAGE +9 -0
- data/lib/rails/generators/rails/task/task_generator.rb +13 -0
- data/lib/rails/generators/rails/task/templates/task.rb.tt +8 -0
- data/lib/rails/generators/resource_helpers.rb +82 -0
- data/lib/rails/generators/test_case.rb +37 -0
- data/lib/rails/generators/test_unit/controller/controller_generator.rb +19 -0
- data/lib/rails/generators/test_unit/controller/templates/functional_test.rb.tt +23 -0
- data/lib/rails/generators/test_unit/generator/generator_generator.rb +27 -0
- data/lib/rails/generators/test_unit/generator/templates/generator_test.rb.tt +16 -0
- data/lib/rails/generators/test_unit/helper/helper_generator.rb +11 -0
- data/lib/rails/generators/test_unit/integration/integration_generator.rb +20 -0
- data/lib/rails/generators/test_unit/integration/templates/integration_test.rb.tt +9 -0
- data/lib/rails/generators/test_unit/job/job_generator.rb +20 -0
- data/lib/rails/generators/test_unit/job/templates/unit_test.rb.tt +9 -0
- data/lib/rails/generators/test_unit/mailer/mailer_generator.rb +28 -0
- data/lib/rails/generators/test_unit/mailer/templates/functional_test.rb.tt +23 -0
- data/lib/rails/generators/test_unit/mailer/templates/preview.rb.tt +14 -0
- data/lib/rails/generators/test_unit/model/model_generator.rb +37 -0
- data/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +29 -0
- data/lib/rails/generators/test_unit/model/templates/unit_test.rb.tt +9 -0
- data/lib/rails/generators/test_unit/plugin/plugin_generator.rb +15 -0
- data/lib/rails/generators/test_unit/plugin/templates/%file_name%_test.rb.tt +7 -0
- data/lib/rails/generators/test_unit/plugin/templates/test_helper.rb +2 -0
- data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +82 -0
- data/lib/rails/generators/test_unit/scaffold/templates/api_functional_test.rb.tt +44 -0
- data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +54 -0
- data/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +57 -0
- data/lib/rails/generators/test_unit/system/system_generator.rb +24 -0
- data/lib/rails/generators/test_unit/system/templates/application_system_test_case.rb.tt +5 -0
- data/lib/rails/generators/test_unit/system/templates/system_test.rb.tt +9 -0
- data/lib/rails/generators/test_unit.rb +10 -0
- data/lib/rails/generators/testing/assertions.rb +147 -0
- data/lib/rails/generators/testing/behavior.rb +116 -0
- data/lib/rails/generators/testing/setup_and_teardown.rb +20 -0
- data/lib/rails/generators.rb +327 -0
- data/lib/rails/health_controller.rb +55 -0
- data/lib/rails/info.rb +105 -0
- data/lib/rails/info_controller.rb +71 -0
- data/lib/rails/initializable.rb +95 -0
- data/lib/rails/mailers_controller.rb +122 -0
- data/lib/rails/paths.rb +246 -0
- data/lib/rails/plugin/test.rb +9 -0
- data/lib/rails/pwa_controller.rb +15 -0
- data/lib/rails/rack/logger.rb +88 -0
- data/lib/rails/rack/silence_request.rb +33 -0
- data/lib/rails/rack.rb +8 -0
- data/lib/rails/rackup/server.rb +15 -0
- data/lib/rails/railtie/configurable.rb +36 -0
- data/lib/rails/railtie/configuration.rb +114 -0
- data/lib/rails/railtie.rb +302 -0
- data/lib/rails/source_annotation_extractor.rb +214 -0
- data/lib/rails/tasks/engine.rake +85 -0
- data/lib/rails/tasks/framework.rake +34 -0
- data/lib/rails/tasks/log.rake +41 -0
- data/lib/rails/tasks/misc.rake +68 -0
- data/lib/rails/tasks/statistics.rake +23 -0
- data/lib/rails/tasks/tmp.rake +51 -0
- data/lib/rails/tasks/yarn.rake +29 -0
- data/lib/rails/tasks/zeitwerk.rake +41 -0
- data/lib/rails/tasks.rb +17 -0
- data/lib/rails/templates/layouts/application.html.erb +51 -0
- data/lib/rails/templates/rails/info/notes.html.erb +65 -0
- data/lib/rails/templates/rails/info/properties.html.erb +1 -0
- data/lib/rails/templates/rails/info/routes.html.erb +9 -0
- data/lib/rails/templates/rails/mailers/email.html.erb +201 -0
- data/lib/rails/templates/rails/mailers/index.html.erb +15 -0
- data/lib/rails/templates/rails/mailers/mailer.html.erb +12 -0
- data/lib/rails/templates/rails/welcome/index.html.erb +93 -0
- data/lib/rails/test_help.rb +47 -0
- data/lib/rails/test_unit/line_filtering.rb +13 -0
- data/lib/rails/test_unit/railtie.rb +25 -0
- data/lib/rails/test_unit/reporter.rb +121 -0
- data/lib/rails/test_unit/runner.rb +209 -0
- data/lib/rails/test_unit/test_parser.rb +133 -0
- data/lib/rails/test_unit/testing.rake +39 -0
- data/lib/rails/testing/maintain_test_schema.rb +16 -0
- data/lib/rails/version.rb +10 -0
- data/lib/rails/welcome_controller.rb +11 -0
- data/lib/rails/zeitwerk_checker.rb +15 -0
- data/lib/rails.rb +130 -0
- metadata +518 -0
@@ -0,0 +1,235 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "rdoc/task"
|
4
|
+
require "rails/api/generator"
|
5
|
+
|
6
|
+
module Rails
|
7
|
+
module API
|
8
|
+
class Task < RDoc::Task
|
9
|
+
RDOC_FILES = {
|
10
|
+
"activesupport" => {
|
11
|
+
include: %w(
|
12
|
+
README.rdoc
|
13
|
+
lib/active_support.rb
|
14
|
+
lib/active_support/**/*.rb
|
15
|
+
)
|
16
|
+
},
|
17
|
+
|
18
|
+
"activerecord" => {
|
19
|
+
include: %w(
|
20
|
+
README.rdoc
|
21
|
+
lib/active_record.rb
|
22
|
+
lib/active_record/**/*.rb
|
23
|
+
lib/arel.rb
|
24
|
+
)
|
25
|
+
},
|
26
|
+
|
27
|
+
"activemodel" => {
|
28
|
+
include: %w(
|
29
|
+
README.rdoc
|
30
|
+
lib/active_model.rb
|
31
|
+
lib/active_model/**/*.rb
|
32
|
+
)
|
33
|
+
},
|
34
|
+
|
35
|
+
"actionpack" => {
|
36
|
+
include: %w(
|
37
|
+
README.rdoc
|
38
|
+
lib/abstract_controller/**/*.rb
|
39
|
+
lib/action_controller.rb
|
40
|
+
lib/action_controller/**/*.rb
|
41
|
+
lib/action_dispatch.rb
|
42
|
+
lib/action_dispatch/**/*.rb
|
43
|
+
)
|
44
|
+
},
|
45
|
+
|
46
|
+
"actionview" => {
|
47
|
+
include: %w(
|
48
|
+
README.rdoc
|
49
|
+
lib/action_view.rb
|
50
|
+
lib/action_view/**/*.rb
|
51
|
+
),
|
52
|
+
exclude: "lib/action_view/vendor/*"
|
53
|
+
},
|
54
|
+
|
55
|
+
"actionmailer" => {
|
56
|
+
include: %w(
|
57
|
+
README.rdoc
|
58
|
+
lib/action_mailer.rb
|
59
|
+
lib/action_mailer/**/*.rb
|
60
|
+
)
|
61
|
+
},
|
62
|
+
|
63
|
+
"activejob" => {
|
64
|
+
include: %w(
|
65
|
+
README.md
|
66
|
+
lib/active_job.rb
|
67
|
+
lib/active_job/**/*.rb
|
68
|
+
)
|
69
|
+
},
|
70
|
+
|
71
|
+
"actioncable" => {
|
72
|
+
include: %w(
|
73
|
+
README.md
|
74
|
+
lib/action_cable.rb
|
75
|
+
lib/action_cable/**/*.rb
|
76
|
+
)
|
77
|
+
},
|
78
|
+
|
79
|
+
"activestorage" => {
|
80
|
+
include: %w(
|
81
|
+
README.md
|
82
|
+
app/**/active_storage/**/*.rb
|
83
|
+
lib/active_storage.rb
|
84
|
+
lib/active_storage/**/*.rb
|
85
|
+
)
|
86
|
+
},
|
87
|
+
|
88
|
+
"actionmailbox" => {
|
89
|
+
include: %w(
|
90
|
+
README.md
|
91
|
+
app/**/action_mailbox/**/*.rb
|
92
|
+
lib/action_mailbox.rb
|
93
|
+
lib/action_mailbox/**/*.rb
|
94
|
+
)
|
95
|
+
},
|
96
|
+
|
97
|
+
"actiontext" => {
|
98
|
+
include: %w(
|
99
|
+
README.md
|
100
|
+
app/**/action_text/**/*.rb
|
101
|
+
lib/action_text.rb
|
102
|
+
lib/action_text/**/*.rb
|
103
|
+
)
|
104
|
+
},
|
105
|
+
|
106
|
+
"railties" => {
|
107
|
+
include: %w(
|
108
|
+
README.rdoc
|
109
|
+
lib/**/*.rb
|
110
|
+
),
|
111
|
+
exclude: %w(
|
112
|
+
lib/rails/generators/**/templates/**/*.rb
|
113
|
+
lib/rails/test_unit/*
|
114
|
+
lib/rails/api/generator.rb
|
115
|
+
)
|
116
|
+
}
|
117
|
+
}
|
118
|
+
|
119
|
+
def initialize(name)
|
120
|
+
super
|
121
|
+
|
122
|
+
# Every time rake runs this task is instantiated as all the rest.
|
123
|
+
# Be lazy computing stuff to have as light impact as possible to
|
124
|
+
# the rest of tasks.
|
125
|
+
before_running_rdoc do
|
126
|
+
configure_sdoc
|
127
|
+
configure_rdoc_files
|
128
|
+
setup_horo_variables
|
129
|
+
end
|
130
|
+
end
|
131
|
+
|
132
|
+
# Hack, ignore the desc calls performed by the original initializer.
|
133
|
+
def desc(description)
|
134
|
+
# no-op
|
135
|
+
end
|
136
|
+
|
137
|
+
def configure_sdoc
|
138
|
+
self.title = "Ruby on Rails API"
|
139
|
+
self.rdoc_dir = api_dir
|
140
|
+
|
141
|
+
options << "-m" << api_main
|
142
|
+
options << "-e" << "UTF-8"
|
143
|
+
|
144
|
+
options << "-f" << "api"
|
145
|
+
options << "-T" << "rails"
|
146
|
+
end
|
147
|
+
|
148
|
+
def configure_rdoc_files
|
149
|
+
RDOC_FILES.each do |component, cfg|
|
150
|
+
cdr = component_root_dir(component)
|
151
|
+
|
152
|
+
Array(cfg[:include]).each do |pattern|
|
153
|
+
rdoc_files.include("#{cdr}/#{pattern}")
|
154
|
+
end
|
155
|
+
|
156
|
+
Array(cfg[:exclude]).each do |pattern|
|
157
|
+
rdoc_files.exclude("#{cdr}/#{pattern}")
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
# Only generate documentation for files that have been
|
162
|
+
# changed since the API was generated.
|
163
|
+
timestamp_path = "#{api_dir}/created.rid"
|
164
|
+
if File.exist?(timestamp_path) && !File.zero?(timestamp_path) && !ENV["ALL"]
|
165
|
+
last_generation = DateTime.rfc2822(File.open(timestamp_path, &:readline))
|
166
|
+
|
167
|
+
rdoc_files.keep_if do |file|
|
168
|
+
File.mtime(file).to_datetime > last_generation
|
169
|
+
end
|
170
|
+
|
171
|
+
# Nothing to do
|
172
|
+
exit(0) if rdoc_files.empty?
|
173
|
+
end
|
174
|
+
|
175
|
+
# This must come after the mtime comparison to ensure the main page is not excluded.
|
176
|
+
rdoc_files.include(api_main)
|
177
|
+
end
|
178
|
+
|
179
|
+
# These variables are used by the sdoc template
|
180
|
+
def setup_horo_variables # :nodoc:
|
181
|
+
ENV["HORO_PROJECT_NAME"] = "Ruby on Rails"
|
182
|
+
ENV["HORO_PROJECT_VERSION"] = rails_version
|
183
|
+
ENV["HORO_BADGE_VERSION"] = badge_version
|
184
|
+
ENV["HORO_CANONICAL_URL"] = canonical_url
|
185
|
+
end
|
186
|
+
|
187
|
+
def api_main
|
188
|
+
component_root_dir("railties") + "/RDOC_MAIN.md"
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
class RepoTask < Task
|
193
|
+
def configure_sdoc
|
194
|
+
super
|
195
|
+
options << "-g" # link to GitHub, SDoc flag
|
196
|
+
end
|
197
|
+
|
198
|
+
def component_root_dir(component)
|
199
|
+
component
|
200
|
+
end
|
201
|
+
|
202
|
+
def api_dir
|
203
|
+
"doc/rdoc"
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
class EdgeTask < RepoTask
|
208
|
+
def rails_version
|
209
|
+
"main@#{`git rev-parse HEAD`[0, 7]}"
|
210
|
+
end
|
211
|
+
|
212
|
+
def badge_version
|
213
|
+
"edge"
|
214
|
+
end
|
215
|
+
|
216
|
+
def canonical_url
|
217
|
+
"https://edgeapi.rubyonrails.org"
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
class StableTask < RepoTask
|
222
|
+
def rails_version
|
223
|
+
File.read("RAILS_VERSION").strip
|
224
|
+
end
|
225
|
+
|
226
|
+
def badge_version
|
227
|
+
"v#{rails_version}"
|
228
|
+
end
|
229
|
+
|
230
|
+
def canonical_url
|
231
|
+
"https://api.rubyonrails.org/#{badge_version}"
|
232
|
+
end
|
233
|
+
end
|
234
|
+
end
|
235
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "pathname"
|
4
|
+
require "rails/version"
|
5
|
+
|
6
|
+
module Rails
|
7
|
+
module AppLoader # :nodoc:
|
8
|
+
extend self
|
9
|
+
|
10
|
+
RUBY = Gem.ruby
|
11
|
+
EXECUTABLES = ["bin/rails", "script/rails"]
|
12
|
+
BUNDLER_WARNING = <<EOS
|
13
|
+
Beginning in Rails 4, Rails ships with a `rails` binstub at ./bin/rails that
|
14
|
+
should be used instead of the Bundler-generated `rails` binstub.
|
15
|
+
|
16
|
+
If you are seeing this message, your binstub at ./bin/rails was generated by
|
17
|
+
Bundler instead of Rails.
|
18
|
+
|
19
|
+
You might need to regenerate your `rails` binstub locally and add it to source
|
20
|
+
control:
|
21
|
+
|
22
|
+
rails app:update:bin # Bear in mind this generates other binstubs
|
23
|
+
# too that you may or may not want (like yarn)
|
24
|
+
|
25
|
+
If you already have Rails binstubs in source control, you might be
|
26
|
+
inadvertently overwriting them during deployment by using bundle install
|
27
|
+
with the --binstubs option.
|
28
|
+
|
29
|
+
If your application was created prior to Rails 4, here's how to upgrade:
|
30
|
+
|
31
|
+
bundle config --delete bin # Turn off Bundler's stub generator
|
32
|
+
rails app:update:bin # Use the new Rails executables
|
33
|
+
git add bin # Add bin/ to source control
|
34
|
+
|
35
|
+
You may need to remove bin/ from your .gitignore as well.
|
36
|
+
|
37
|
+
When you install a gem whose executable you want to use in your app,
|
38
|
+
generate it and add it to source control:
|
39
|
+
|
40
|
+
bundle binstubs some-gem-name
|
41
|
+
git add bin/new-executable
|
42
|
+
|
43
|
+
EOS
|
44
|
+
|
45
|
+
def exec_app
|
46
|
+
original_cwd = Dir.pwd
|
47
|
+
|
48
|
+
loop do
|
49
|
+
if exe = find_executable
|
50
|
+
contents = File.read(exe)
|
51
|
+
|
52
|
+
if /(APP|ENGINE)_PATH/.match?(contents)
|
53
|
+
exec RUBY, exe, *ARGV
|
54
|
+
break # non reachable, hack to be able to stub exec in the test suite
|
55
|
+
elsif exe.end_with?("bin/rails") && contents.include?("This file was generated by Bundler")
|
56
|
+
$stderr.puts(BUNDLER_WARNING)
|
57
|
+
Object.const_set(:APP_PATH, File.expand_path("config/application", Dir.pwd))
|
58
|
+
require File.expand_path("../boot", APP_PATH)
|
59
|
+
require "rails/commands"
|
60
|
+
break
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# If we exhaust the search there is no executable, this could be a
|
65
|
+
# call to generate a new application, so restore the original cwd.
|
66
|
+
Dir.chdir(original_cwd) && return if Pathname.new(Dir.pwd).root?
|
67
|
+
|
68
|
+
# Otherwise keep moving upwards in search of an executable.
|
69
|
+
Dir.chdir("..")
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def find_executable
|
74
|
+
EXECUTABLES.find { |exe| File.file?(exe) }
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,118 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "fileutils"
|
4
|
+
require "set"
|
5
|
+
require "active_support/notifications"
|
6
|
+
require "active_support/dependencies"
|
7
|
+
require "active_support/descendants_tracker"
|
8
|
+
|
9
|
+
module Rails
|
10
|
+
class Application
|
11
|
+
module Bootstrap
|
12
|
+
include Initializable
|
13
|
+
|
14
|
+
initializer :load_environment_hook, group: :all do end
|
15
|
+
|
16
|
+
initializer :load_active_support, group: :all do
|
17
|
+
require "active_support/all" unless config.active_support.bare
|
18
|
+
end
|
19
|
+
|
20
|
+
initializer :set_eager_load, group: :all do
|
21
|
+
if config.eager_load.nil?
|
22
|
+
warn <<~INFO
|
23
|
+
config.eager_load is set to nil. Please update your config/environments/*.rb files accordingly:
|
24
|
+
|
25
|
+
* development - set it to false
|
26
|
+
* test - set it to false (unless you use a tool that preloads your test environment)
|
27
|
+
* production - set it to true
|
28
|
+
|
29
|
+
INFO
|
30
|
+
config.eager_load = !config.reloading_enabled?
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
# Initialize the logger early in the stack in case we need to log some deprecation.
|
35
|
+
initializer :initialize_logger, group: :all do
|
36
|
+
Rails.logger ||= config.logger || begin
|
37
|
+
logger = if config.log_file_size
|
38
|
+
ActiveSupport::Logger.new(config.default_log_file, 1, config.log_file_size)
|
39
|
+
else
|
40
|
+
ActiveSupport::Logger.new(config.default_log_file)
|
41
|
+
end
|
42
|
+
logger.formatter = config.log_formatter
|
43
|
+
logger = ActiveSupport::TaggedLogging.new(logger)
|
44
|
+
logger
|
45
|
+
rescue StandardError
|
46
|
+
path = config.paths["log"].first
|
47
|
+
logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDERR))
|
48
|
+
logger.level = ActiveSupport::Logger::WARN
|
49
|
+
logger.warn(
|
50
|
+
"Rails Error: Unable to access log file. Please ensure that #{path} exists and is writable " \
|
51
|
+
"(i.e. make it writable for user and group: chmod 0664 #{path}). " \
|
52
|
+
"The log level has been raised to WARN and the output directed to STDERR until the problem is fixed."
|
53
|
+
)
|
54
|
+
logger
|
55
|
+
end
|
56
|
+
|
57
|
+
if Rails.logger.is_a?(ActiveSupport::BroadcastLogger)
|
58
|
+
if config.broadcast_log_level
|
59
|
+
Rails.logger.level = ActiveSupport::Logger.const_get(config.broadcast_log_level.to_s.upcase)
|
60
|
+
end
|
61
|
+
else
|
62
|
+
Rails.logger.level = ActiveSupport::Logger.const_get(config.log_level.to_s.upcase)
|
63
|
+
broadcast_logger = ActiveSupport::BroadcastLogger.new(Rails.logger)
|
64
|
+
broadcast_logger.formatter = Rails.logger.formatter
|
65
|
+
Rails.logger = broadcast_logger
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
initializer :initialize_error_reporter, group: :all do
|
70
|
+
if config.consider_all_requests_local
|
71
|
+
Rails.error.debug_mode = true
|
72
|
+
else
|
73
|
+
Rails.error.logger = Rails.logger
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
# Initialize cache early in the stack so railties can make use of it.
|
78
|
+
initializer :initialize_cache, group: :all do
|
79
|
+
cache_format_version = config.active_support.delete(:cache_format_version)
|
80
|
+
ActiveSupport.cache_format_version = cache_format_version if cache_format_version
|
81
|
+
|
82
|
+
unless Rails.cache
|
83
|
+
Rails.cache = ActiveSupport::Cache.lookup_store(*config.cache_store)
|
84
|
+
|
85
|
+
if Rails.cache.respond_to?(:middleware)
|
86
|
+
config.middleware.insert_before(::Rack::Runtime, Rails.cache.middleware)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
# We setup the once autoloader this early so that engines and applications
|
92
|
+
# are able to autoload from these paths during initialization.
|
93
|
+
initializer :setup_once_autoloader, after: :set_eager_load_paths, before: :bootstrap_hook do
|
94
|
+
autoloader = Rails.autoloaders.once
|
95
|
+
|
96
|
+
# Normally empty, but if the user already defined some, we won't
|
97
|
+
# override them. Important if there are custom namespaces associated.
|
98
|
+
already_configured_dirs = Set.new(autoloader.dirs)
|
99
|
+
|
100
|
+
ActiveSupport::Dependencies.autoload_once_paths.freeze
|
101
|
+
ActiveSupport::Dependencies.autoload_once_paths.uniq.each do |path|
|
102
|
+
# Zeitwerk only accepts existing directories in `push_dir`.
|
103
|
+
next unless File.directory?(path)
|
104
|
+
next if already_configured_dirs.member?(path.to_s)
|
105
|
+
|
106
|
+
autoloader.push_dir(path)
|
107
|
+
autoloader.do_not_eager_load(path) unless ActiveSupport::Dependencies.eager_load?(path)
|
108
|
+
end
|
109
|
+
|
110
|
+
autoloader.setup
|
111
|
+
end
|
112
|
+
|
113
|
+
initializer :bootstrap_hook, group: :all do |app|
|
114
|
+
ActiveSupport.run_load_hooks(:before_initialize, app)
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|