railties 7.2.0 → 8.0.0.beta1
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/CHANGELOG.md +111 -254
- data/lib/minitest/rails_plugin.rb +1 -1
- data/lib/rails/application/configuration.rb +15 -2
- data/lib/rails/application/default_middleware_stack.rb +4 -0
- data/lib/rails/application/finisher.rb +2 -2
- data/lib/rails/application/routes_reloader.rb +11 -1
- data/lib/rails/application.rb +12 -0
- data/lib/rails/code_statistics.rb +128 -86
- data/lib/rails/code_statistics_calculator.rb +78 -76
- data/lib/rails/command/helpers/editor.rb +1 -1
- data/lib/rails/commands/app/update_command.rb +10 -9
- data/lib/rails/commands/console/irb_console.rb +1 -2
- data/lib/rails/commands/credentials/USAGE +4 -4
- data/lib/rails/commands/credentials/credentials_command.rb +5 -1
- data/lib/rails/commands/dev/dev_command.rb +1 -1
- data/lib/rails/commands/devcontainer/devcontainer_command.rb +1 -1
- data/lib/rails/commands/stats/stats_command.rb +19 -0
- data/lib/rails/dev_caching.rb +2 -2
- data/lib/rails/engine/configuration.rb +3 -1
- data/lib/rails/engine/lazy_route_set.rb +109 -0
- data/lib/rails/engine.rb +10 -5
- data/lib/rails/gem_version.rb +3 -3
- data/lib/rails/generators/app_base.rb +46 -24
- data/lib/rails/generators/database.rb +102 -68
- 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/generated_attribute.rb +16 -11
- data/lib/rails/generators/rails/app/app_generator.rb +22 -32
- data/lib/rails/generators/rails/app/templates/Dockerfile.tt +12 -3
- data/lib/rails/generators/rails/app/templates/Gemfile.tt +23 -8
- data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +6 -11
- data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +10 -3
- data/lib/rails/generators/rails/app/templates/app/views/pwa/service-worker.js +3 -3
- data/lib/rails/generators/rails/app/templates/bin/dev.tt +1 -0
- data/lib/rails/generators/rails/app/templates/bin/setup.tt +5 -7
- data/lib/rails/generators/rails/app/templates/bin/thrust.tt +4 -0
- data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +23 -0
- data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +23 -0
- data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +40 -0
- data/lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt +23 -0
- data/lib/rails/generators/rails/app/templates/config/deploy.yml.tt +124 -0
- data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +12 -23
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +34 -51
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +5 -19
- data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +0 -7
- data/lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt +1 -1
- 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/puma.rb.tt +13 -3
- data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +5 -3
- data/lib/rails/generators/rails/app/templates/docker-entrypoint.tt +4 -3
- data/lib/rails/generators/rails/app/templates/dockerignore.tt +1 -2
- data/lib/rails/generators/rails/app/templates/github/ci.yml.tt +1 -1
- data/lib/rails/generators/rails/app/templates/gitignore.tt +1 -2
- data/lib/rails/generators/rails/app/templates/kamal-secrets.tt +17 -0
- data/lib/rails/generators/rails/app/templates/public/400.html +114 -0
- data/lib/rails/generators/rails/app/templates/public/404.html +113 -66
- data/lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html +113 -65
- data/lib/rails/generators/rails/app/templates/public/422.html +113 -66
- data/lib/rails/generators/rails/app/templates/public/500.html +113 -65
- data/lib/rails/generators/rails/app/templates/public/icon.png +0 -0
- data/lib/rails/generators/rails/app/templates/public/icon.svg +2 -2
- 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/credentials/templates/credentials.yml.tt +4 -0
- data/lib/rails/generators/rails/db/system/change/change_generator.rb +1 -1
- data/lib/rails/generators/rails/devcontainer/devcontainer_generator.rb +5 -3
- data/lib/rails/generators/rails/devcontainer/templates/devcontainer/devcontainer.json.tt +1 -1
- data/lib/rails/generators/rails/plugin/plugin_generator.rb +11 -11
- data/lib/rails/generators/rails/plugin/templates/github/ci.yml.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +2 -2
- data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +2 -2
- data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +3 -3
- 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.rb +7 -2
- data/lib/rails/info_controller.rb +10 -2
- data/lib/rails/rack/silence_request.rb +33 -0
- data/lib/rails/rack.rb +1 -0
- data/lib/rails/railtie.rb +13 -13
- data/lib/rails/source_annotation_extractor.rb +31 -14
- data/lib/rails/tasks/statistics.rake +13 -28
- data/lib/rails/templates/rails/info/notes.html.erb +65 -0
- metadata +45 -25
- data/lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt +0 -2
- data/lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb.tt +0 -4
- data/lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb.tt +0 -4
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_2.rb.tt +0 -70
- data/lib/rails/generators/rails/app/templates/config/initializers/permissions_policy.rb.tt +0 -13
- data/lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt +0 -13
- data/lib/rails/generators/rails/plugin/templates/rails/dummy_manifest.js.tt +0 -10
- data/lib/rails/generators/rails/plugin/templates/rails/engine_manifest.js.tt +0 -6
- data/lib/rails/generators/rails/plugin/templates/rails/javascripts.js.tt +0 -17
    
        data/lib/rails/generators.rb
    CHANGED
    
    | @@ -23,7 +23,6 @@ module Rails | |
| 23 23 | 
             
                autoload :NamedBase,       "rails/generators/named_base"
         | 
| 24 24 | 
             
                autoload :ResourceHelpers, "rails/generators/resource_helpers"
         | 
| 25 25 | 
             
                autoload :TestCase,        "rails/generators/test_case"
         | 
| 26 | 
            -
                autoload :Devcontainer,    "rails/generators/devcontainer"
         | 
| 27 26 |  | 
| 28 27 | 
             
                mattr_accessor :namespace
         | 
| 29 28 |  | 
| @@ -61,6 +60,10 @@ module Rails | |
| 61 60 | 
             
                  }
         | 
| 62 61 | 
             
                }
         | 
| 63 62 |  | 
| 63 | 
            +
                # We need to store the RAILS_DEV_PATH in a constant, otherwise the path
         | 
| 64 | 
            +
                # can change when we FileUtils.cd.
         | 
| 65 | 
            +
                RAILS_DEV_PATH = File.expand_path("../../..", __dir__) # :nodoc:
         | 
| 66 | 
            +
             | 
| 64 67 | 
             
                class << self
         | 
| 65 68 | 
             
                  def configure!(config) # :nodoc:
         | 
| 66 69 | 
             
                    api_only! if config.api_only
         | 
| @@ -152,7 +155,8 @@ module Rails | |
| 152 155 | 
             
                        "#{template}:scaffold",
         | 
| 153 156 | 
             
                        "#{template}:mailer",
         | 
| 154 157 | 
             
                        "action_text:install",
         | 
| 155 | 
            -
                        "action_mailbox:install"
         | 
| 158 | 
            +
                        "action_mailbox:install",
         | 
| 159 | 
            +
                        "devcontainer"
         | 
| 156 160 | 
             
                      ]
         | 
| 157 161 | 
             
                    end
         | 
| 158 162 | 
             
                  end
         | 
| @@ -268,6 +272,7 @@ module Rails | |
| 268 272 | 
             
                        #{error.detailed_message}
         | 
| 269 273 | 
             
                        Run `bin/rails generate --help` for more options.
         | 
| 270 274 | 
             
                      MSG
         | 
| 275 | 
            +
                      exit 1
         | 
| 271 276 | 
             
                    end
         | 
| 272 277 | 
             
                  end
         | 
| 273 278 |  | 
| @@ -20,7 +20,7 @@ class Rails::InfoController < Rails::ApplicationController # :nodoc: | |
| 20 20 |  | 
| 21 21 | 
             
              def routes
         | 
| 22 22 | 
             
                if query = params[:query]
         | 
| 23 | 
            -
                  query = URI:: | 
| 23 | 
            +
                  query = URI::RFC2396_PARSER.escape query
         | 
| 24 24 |  | 
| 25 25 | 
             
                  render json: {
         | 
| 26 26 | 
             
                    exact: matching_routes(query: query, exact_match: true),
         | 
| @@ -32,6 +32,14 @@ class Rails::InfoController < Rails::ApplicationController # :nodoc: | |
| 32 32 | 
             
                end
         | 
| 33 33 | 
             
              end
         | 
| 34 34 |  | 
| 35 | 
            +
              def notes
         | 
| 36 | 
            +
                @annotations = Rails::SourceAnnotationExtractor.new(
         | 
| 37 | 
            +
                  Rails::SourceAnnotationExtractor::Annotation.tags.join("|")
         | 
| 38 | 
            +
                ).find(
         | 
| 39 | 
            +
                  Rails::SourceAnnotationExtractor::Annotation.directories
         | 
| 40 | 
            +
                )
         | 
| 41 | 
            +
              end
         | 
| 42 | 
            +
             | 
| 35 43 | 
             
              private
         | 
| 36 44 | 
             
                def matching_routes(query:, exact_match:)
         | 
| 37 45 | 
             
                  return [] if query.blank?
         | 
| @@ -53,7 +61,7 @@ class Rails::InfoController < Rails::ApplicationController # :nodoc: | |
| 53 61 | 
             
                    match ||= (query === route_wrapper.verb)
         | 
| 54 62 |  | 
| 55 63 | 
             
                    unless match
         | 
| 56 | 
            -
                      controller_action = URI:: | 
| 64 | 
            +
                      controller_action = URI::RFC2396_PARSER.escape(route_wrapper.reqs)
         | 
| 57 65 | 
             
                      match = exact_match ? (query === controller_action) : controller_action.include?(query)
         | 
| 58 66 | 
             
                    end
         | 
| 59 67 |  | 
| @@ -0,0 +1,33 @@ | |
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            # :markup: markdown
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            require "active_support/logger_silence"
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            module Rails
         | 
| 8 | 
            +
              module Rack
         | 
| 9 | 
            +
                # Allows you to silence requests made to a specific path.
         | 
| 10 | 
            +
                # This is useful for preventing recurring requests like health checks from clogging the logging.
         | 
| 11 | 
            +
                # This middleware is used to do just that against the path /up in production by default.
         | 
| 12 | 
            +
                #
         | 
| 13 | 
            +
                # Example:
         | 
| 14 | 
            +
                #
         | 
| 15 | 
            +
                #   config.middleware.insert_before \
         | 
| 16 | 
            +
                #     Rails::Rack::Logger, Rails::Rack::SilenceRequest, path: "/up"
         | 
| 17 | 
            +
                #
         | 
| 18 | 
            +
                # This middleware can also be configured using `config.silence_healthcheck_path = "/up"` in Rails.
         | 
| 19 | 
            +
                class SilenceRequest
         | 
| 20 | 
            +
                  def initialize(app, path:)
         | 
| 21 | 
            +
                    @app, @path = app, path
         | 
| 22 | 
            +
                  end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                  def call(env)
         | 
| 25 | 
            +
                    if env["PATH_INFO"] == @path
         | 
| 26 | 
            +
                      Rails.logger.silence { @app.call(env) }
         | 
| 27 | 
            +
                    else
         | 
| 28 | 
            +
                      @app.call(env)
         | 
| 29 | 
            +
                    end
         | 
| 30 | 
            +
                  end
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
              end
         | 
| 33 | 
            +
            end
         | 
    
        data/lib/rails/rack.rb
    CHANGED
    
    
    
        data/lib/rails/railtie.rb
    CHANGED
    
    | @@ -50,8 +50,8 @@ module Rails | |
| 50 50 | 
             
              # To add an initialization step to the \Rails boot process from your railtie, just
         | 
| 51 51 | 
             
              # define the initialization code with the +initializer+ macro:
         | 
| 52 52 | 
             
              #
         | 
| 53 | 
            -
              #   class  | 
| 54 | 
            -
              #     initializer " | 
| 53 | 
            +
              #   class MyGem::Railtie < Rails::Railtie
         | 
| 54 | 
            +
              #     initializer "my_gem.configure_rails_initialization" do
         | 
| 55 55 | 
             
              #       # some initialization behavior
         | 
| 56 56 | 
             
              #     end
         | 
| 57 57 | 
             
              #   end
         | 
| @@ -59,9 +59,9 @@ module Rails | |
| 59 59 | 
             
              # If specified, the block can also receive the application object, in case you
         | 
| 60 60 | 
             
              # need to access some application-specific configuration, like middleware:
         | 
| 61 61 | 
             
              #
         | 
| 62 | 
            -
              #   class  | 
| 63 | 
            -
              #     initializer " | 
| 64 | 
            -
              #       app.middleware.use  | 
| 62 | 
            +
              #   class MyGem::Railtie < Rails::Railtie
         | 
| 63 | 
            +
              #     initializer "my_gem.configure_rails_initialization" do |app|
         | 
| 64 | 
            +
              #       app.middleware.use MyGem::Middleware
         | 
| 65 65 | 
             
              #     end
         | 
| 66 66 | 
             
              #   end
         | 
| 67 67 | 
             
              #
         | 
| @@ -74,14 +74,14 @@ module Rails | |
| 74 74 | 
             
              # Railties can access a config object which contains configuration shared by all
         | 
| 75 75 | 
             
              # railties and the application:
         | 
| 76 76 | 
             
              #
         | 
| 77 | 
            -
              #   class  | 
| 77 | 
            +
              #   class MyGem::Railtie < Rails::Railtie
         | 
| 78 78 | 
             
              #     # Customize the ORM
         | 
| 79 | 
            -
              #     config.app_generators.orm : | 
| 79 | 
            +
              #     config.app_generators.orm :my_gem_orm
         | 
| 80 80 | 
             
              #
         | 
| 81 81 | 
             
              #     # Add a to_prepare block which is executed once in production
         | 
| 82 82 | 
             
              #     # and before each request in development.
         | 
| 83 83 | 
             
              #     config.to_prepare do
         | 
| 84 | 
            -
              #        | 
| 84 | 
            +
              #       MyGem.setup!
         | 
| 85 85 | 
             
              #     end
         | 
| 86 86 | 
             
              #   end
         | 
| 87 87 | 
             
              #
         | 
| @@ -90,9 +90,9 @@ module Rails | |
| 90 90 | 
             
              # If your railtie has Rake tasks, you can tell \Rails to load them through the method
         | 
| 91 91 | 
             
              # +rake_tasks+:
         | 
| 92 92 | 
             
              #
         | 
| 93 | 
            -
              #   class  | 
| 93 | 
            +
              #   class MyGem::Railtie < Rails::Railtie
         | 
| 94 94 | 
             
              #     rake_tasks do
         | 
| 95 | 
            -
              #       load "path/to/ | 
| 95 | 
            +
              #       load "path/to/my_gem.tasks"
         | 
| 96 96 | 
             
              #     end
         | 
| 97 97 | 
             
              #   end
         | 
| 98 98 | 
             
              #
         | 
| @@ -100,9 +100,9 @@ module Rails | |
| 100 100 | 
             
              # your generators at a different location, you can specify in your railtie a block which
         | 
| 101 101 | 
             
              # will load them during normal generators lookup:
         | 
| 102 102 | 
             
              #
         | 
| 103 | 
            -
              #   class  | 
| 103 | 
            +
              #   class MyGem::Railtie < Rails::Railtie
         | 
| 104 104 | 
             
              #     generators do
         | 
| 105 | 
            -
              #       require "path/to/ | 
| 105 | 
            +
              #       require "path/to/my_gem_generator"
         | 
| 106 106 | 
             
              #     end
         | 
| 107 107 | 
             
              #   end
         | 
| 108 108 | 
             
              #
         | 
| @@ -120,7 +120,7 @@ module Rails | |
| 120 120 | 
             
              # this less confusing for everyone.
         | 
| 121 121 | 
             
              # It can be used like this:
         | 
| 122 122 | 
             
              #
         | 
| 123 | 
            -
              #   class  | 
| 123 | 
            +
              #   class MyGem::Railtie < Rails::Railtie
         | 
| 124 124 | 
             
              #     server do
         | 
| 125 125 | 
             
              #       WebpackServer.start
         | 
| 126 126 | 
             
              #     end
         | 
| @@ -1,6 +1,12 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 3 | 
            +
            begin
         | 
| 4 | 
            +
              require "prism"
         | 
| 5 | 
            +
            rescue LoadError
         | 
| 6 | 
            +
              # If Prism isn't available (because of using an older Ruby version) then we'll
         | 
| 7 | 
            +
              # define a fallback for the ParserExtractor using ripper.
         | 
| 8 | 
            +
              require "ripper"
         | 
| 9 | 
            +
            end
         | 
| 4 10 |  | 
| 5 11 | 
             
            module Rails
         | 
| 6 12 | 
             
              # Implements the logic behind +Rails::Command::NotesCommand+. See <tt>rails notes --help</tt> for usage information.
         | 
| @@ -16,24 +22,35 @@ module Rails | |
| 16 22 | 
             
                # Wraps a regular expression that will be tested against each of the source
         | 
| 17 23 | 
             
                # file's comments.
         | 
| 18 24 | 
             
                class ParserExtractor < Struct.new(:pattern)
         | 
| 19 | 
            -
                   | 
| 20 | 
            -
                     | 
| 25 | 
            +
                  if defined?(Prism)
         | 
| 26 | 
            +
                    def annotations(file)
         | 
| 27 | 
            +
                      result = Prism.parse_file(file)
         | 
| 28 | 
            +
                      return [] unless result.success?
         | 
| 21 29 |  | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
                       | 
| 25 | 
            -
                      @comments = []
         | 
| 30 | 
            +
                      result.comments.filter_map do |comment|
         | 
| 31 | 
            +
                        Annotation.new(comment.location.start_line, $1, $2) if comment.location.slice =~ pattern
         | 
| 32 | 
            +
                      end
         | 
| 26 33 | 
             
                    end
         | 
| 34 | 
            +
                  else
         | 
| 35 | 
            +
                    class Parser < Ripper
         | 
| 36 | 
            +
                      attr_reader :comments, :pattern
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                      def initialize(source, pattern:)
         | 
| 39 | 
            +
                        super(source)
         | 
| 40 | 
            +
                        @pattern = pattern
         | 
| 41 | 
            +
                        @comments = []
         | 
| 42 | 
            +
                      end
         | 
| 27 43 |  | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 44 | 
            +
                      def on_comment(value)
         | 
| 45 | 
            +
                        @comments << Annotation.new(lineno, $1, $2) if value =~ pattern
         | 
| 46 | 
            +
                      end
         | 
| 30 47 | 
             
                    end
         | 
| 31 | 
            -
                  end
         | 
| 32 48 |  | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 49 | 
            +
                    def annotations(file)
         | 
| 50 | 
            +
                      contents = File.read(file, encoding: Encoding::BINARY)
         | 
| 51 | 
            +
                      parser = Parser.new(contents, pattern: pattern).tap(&:parse)
         | 
| 52 | 
            +
                      parser.error? ? [] : parser.comments
         | 
| 53 | 
            +
                    end
         | 
| 37 54 | 
             
                  end
         | 
| 38 55 | 
             
                end
         | 
| 39 56 |  | 
| @@ -1,32 +1,11 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 6 | 
            -
            STATS_DIRECTORIES  | 
| 7 | 
            -
               | 
| 8 | 
            -
             | 
| 9 | 
            -
              %w(Jobs               app/jobs),
         | 
| 10 | 
            -
              %w(Models             app/models),
         | 
| 11 | 
            -
              %w(Mailers            app/mailers),
         | 
| 12 | 
            -
              %w(Mailboxes          app/mailboxes),
         | 
| 13 | 
            -
              %w(Channels           app/channels),
         | 
| 14 | 
            -
              %w(Views              app/views),
         | 
| 15 | 
            -
              %w(JavaScripts        app/assets/javascripts),
         | 
| 16 | 
            -
              %w(Stylesheets        app/assets/stylesheets),
         | 
| 17 | 
            -
              %w(JavaScript         app/javascript),
         | 
| 18 | 
            -
              %w(Libraries          lib/),
         | 
| 19 | 
            -
              %w(APIs               app/apis),
         | 
| 20 | 
            -
              %w(Controller\ tests  test/controllers),
         | 
| 21 | 
            -
              %w(Helper\ tests      test/helpers),
         | 
| 22 | 
            -
              %w(Job\ tests         test/jobs),
         | 
| 23 | 
            -
              %w(Model\ tests       test/models),
         | 
| 24 | 
            -
              %w(Mailer\ tests      test/mailers),
         | 
| 25 | 
            -
              %w(Mailbox\ tests     test/mailboxes),
         | 
| 26 | 
            -
              %w(Channel\ tests     test/channels),
         | 
| 27 | 
            -
              %w(Integration\ tests test/integration),
         | 
| 28 | 
            -
              %w(System\ tests      test/system),
         | 
| 29 | 
            -
            ]
         | 
| 3 | 
            +
            require "rails/code_statistics"
         | 
| 4 | 
            +
            STATS_DIRECTORIES = ActiveSupport::Deprecation::DeprecatedObjectProxy.new(
         | 
| 5 | 
            +
              Rails::CodeStatistics::DIRECTORIES,
         | 
| 6 | 
            +
              "`STATS_DIRECTORIES` is deprecated and will be removed in Rails 8.1! Use `Rails::CodeStatistics.register_directory('My Directory', 'path/to/dir)` instead.",
         | 
| 7 | 
            +
              Rails.deprecator
         | 
| 8 | 
            +
            )
         | 
| 30 9 |  | 
| 31 10 | 
             
            desc "Report code statistics (KLOCs, etc) from the application or engine"
         | 
| 32 11 | 
             
            task :stats do
         | 
| @@ -34,5 +13,11 @@ task :stats do | |
| 34 13 | 
             
              stat_directories = STATS_DIRECTORIES.collect do |name, dir|
         | 
| 35 14 | 
             
                [ name, "#{File.dirname(Rake.application.rakefile_location)}/#{dir}" ]
         | 
| 36 15 | 
             
              end.select { |name, dir| File.directory?(dir) }
         | 
| 37 | 
            -
             | 
| 16 | 
            +
             | 
| 17 | 
            +
              $stderr.puts Rails.deprecator.warn(<<~MSG, caller_locations(0..1))
         | 
| 18 | 
            +
              `bin/rake stats` has been deprecated and will be removed in Rails 8.1.
         | 
| 19 | 
            +
              Please use `bin/rails stats` as Rails command instead.\n
         | 
| 20 | 
            +
              MSG
         | 
| 21 | 
            +
             | 
| 22 | 
            +
              Rails::CodeStatistics.new(*stat_directories).to_s
         | 
| 38 23 | 
             
            end
         | 
| @@ -0,0 +1,65 @@ | |
| 1 | 
            +
            <style>
         | 
| 2 | 
            +
              h2, p {
         | 
| 3 | 
            +
                padding-left: 30px;
         | 
| 4 | 
            +
              }
         | 
| 5 | 
            +
              table {
         | 
| 6 | 
            +
                margin: 0;
         | 
| 7 | 
            +
                border-collapse: collapse;
         | 
| 8 | 
            +
                word-wrap:break-word;
         | 
| 9 | 
            +
                table-layout: fixed;
         | 
| 10 | 
            +
                width:100%;
         | 
| 11 | 
            +
              }
         | 
| 12 | 
            +
              table thead tr {
         | 
| 13 | 
            +
                border-bottom: 2px solid #ddd;
         | 
| 14 | 
            +
              }
         | 
| 15 | 
            +
              table th {
         | 
| 16 | 
            +
                padding-left: 30px;
         | 
| 17 | 
            +
                text-align: left;
         | 
| 18 | 
            +
              }
         | 
| 19 | 
            +
              table thead th.tag, table thead th.line-no {
         | 
| 20 | 
            +
                width: 10%;
         | 
| 21 | 
            +
              }
         | 
| 22 | 
            +
              table tbody tr {
         | 
| 23 | 
            +
                border-bottom: 1px solid #ddd;
         | 
| 24 | 
            +
              }
         | 
| 25 | 
            +
              table tbody tr:nth-child(odd) {
         | 
| 26 | 
            +
                background: #f2f2f2;
         | 
| 27 | 
            +
              }
         | 
| 28 | 
            +
              table td {
         | 
| 29 | 
            +
                padding: 4px 30px;
         | 
| 30 | 
            +
              }
         | 
| 31 | 
            +
              @media (prefers-color-scheme: dark) {
         | 
| 32 | 
            +
                table tbody tr:nth-child(odd) {
         | 
| 33 | 
            +
                  background: #282828;
         | 
| 34 | 
            +
                }
         | 
| 35 | 
            +
              }
         | 
| 36 | 
            +
            </style>
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            <h2>
         | 
| 39 | 
            +
              Notes
         | 
| 40 | 
            +
            </h2>
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            <table id="route_table" class="table">
         | 
| 43 | 
            +
              <thead>
         | 
| 44 | 
            +
                <th>File Name</th>
         | 
| 45 | 
            +
                <th class="line-no">Line No.</th>
         | 
| 46 | 
            +
                <th class="tag">Tag</th>
         | 
| 47 | 
            +
                <th>Description</th>
         | 
| 48 | 
            +
              </thead>
         | 
| 49 | 
            +
              <tbody>
         | 
| 50 | 
            +
                <% @annotations.each do |file, annotations| %>
         | 
| 51 | 
            +
                  <% annotations.each.with_index do |annotation, index| %>
         | 
| 52 | 
            +
                    <tr>
         | 
| 53 | 
            +
                      <% if index == 0 %>
         | 
| 54 | 
            +
                        <th rowspan="<%= annotations.size %>">
         | 
| 55 | 
            +
                          <%= file %>
         | 
| 56 | 
            +
                        </th>
         | 
| 57 | 
            +
                      <% end %>
         | 
| 58 | 
            +
                      <td class="line-no"><%= annotation.line %></td>
         | 
| 59 | 
            +
                      <td class="tag"><%= annotation.tag %></td>
         | 
| 60 | 
            +
                      <td><%= annotation.text %></td>
         | 
| 61 | 
            +
                    </tr>
         | 
| 62 | 
            +
                  <% end %>
         | 
| 63 | 
            +
                <% end %>
         | 
| 64 | 
            +
              </tbody>
         | 
| 65 | 
            +
            </table>
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: railties
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 8.0.0.beta1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - David Heinemeier Hansson
         | 
| 8 | 
            -
            autorequire:
         | 
| 8 | 
            +
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024- | 
| 11 | 
            +
            date: 2024-09-26 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activesupport
         | 
| @@ -16,28 +16,28 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - '='
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version:  | 
| 19 | 
            +
                    version: 8.0.0.beta1
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - '='
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version:  | 
| 26 | 
            +
                    version: 8.0.0.beta1
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: actionpack
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - '='
         | 
| 32 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            -
                    version:  | 
| 33 | 
            +
                    version: 8.0.0.beta1
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 37 | 
             
                requirements:
         | 
| 38 38 | 
             
                - - '='
         | 
| 39 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            -
                    version:  | 
| 40 | 
            +
                    version: 8.0.0.beta1
         | 
| 41 41 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 42 42 | 
             
              name: rackup
         | 
| 43 43 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -120,14 +120,14 @@ dependencies: | |
| 120 120 | 
             
                requirements:
         | 
| 121 121 | 
             
                - - '='
         | 
| 122 122 | 
             
                  - !ruby/object:Gem::Version
         | 
| 123 | 
            -
                    version:  | 
| 123 | 
            +
                    version: 8.0.0.beta1
         | 
| 124 124 | 
             
              type: :development
         | 
| 125 125 | 
             
              prerelease: false
         | 
| 126 126 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 127 127 | 
             
                requirements:
         | 
| 128 128 | 
             
                - - '='
         | 
| 129 129 | 
             
                  - !ruby/object:Gem::Version
         | 
| 130 | 
            -
                    version:  | 
| 130 | 
            +
                    version: 8.0.0.beta1
         | 
| 131 131 | 
             
            description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
         | 
| 132 132 | 
             
            email: david@loudthinking.com
         | 
| 133 133 | 
             
            executables:
         | 
| @@ -200,6 +200,7 @@ files: | |
| 200 200 | 
             
            - lib/rails/commands/runner/runner_command.rb
         | 
| 201 201 | 
             
            - lib/rails/commands/secret/secret_command.rb
         | 
| 202 202 | 
             
            - lib/rails/commands/server/server_command.rb
         | 
| 203 | 
            +
            - lib/rails/commands/stats/stats_command.rb
         | 
| 203 204 | 
             
            - lib/rails/commands/test/USAGE
         | 
| 204 205 | 
             
            - lib/rails/commands/test/test_command.rb
         | 
| 205 206 | 
             
            - lib/rails/commands/unused_routes/unused_routes_command.rb
         | 
| @@ -213,6 +214,7 @@ files: | |
| 213 214 | 
             
            - lib/rails/engine.rb
         | 
| 214 215 | 
             
            - lib/rails/engine/commands.rb
         | 
| 215 216 | 
             
            - lib/rails/engine/configuration.rb
         | 
| 217 | 
            +
            - lib/rails/engine/lazy_route_set.rb
         | 
| 216 218 | 
             
            - lib/rails/engine/railties.rb
         | 
| 217 219 | 
             
            - lib/rails/engine/updater.rb
         | 
| 218 220 | 
             
            - lib/rails/gem_version.rb
         | 
| @@ -225,6 +227,10 @@ files: | |
| 225 227 | 
             
            - lib/rails/generators/base.rb
         | 
| 226 228 | 
             
            - lib/rails/generators/database.rb
         | 
| 227 229 | 
             
            - lib/rails/generators/erb.rb
         | 
| 230 | 
            +
            - lib/rails/generators/erb/authentication/authentication_generator.rb
         | 
| 231 | 
            +
            - lib/rails/generators/erb/authentication/templates/views/passwords/edit.html.erb
         | 
| 232 | 
            +
            - lib/rails/generators/erb/authentication/templates/views/passwords/new.html.erb
         | 
| 233 | 
            +
            - lib/rails/generators/erb/authentication/templates/views/sessions/new.html.erb
         | 
| 228 234 | 
             
            - lib/rails/generators/erb/controller/controller_generator.rb
         | 
| 229 235 | 
             
            - lib/rails/generators/erb/controller/templates/view.html.erb.tt
         | 
| 230 236 | 
             
            - lib/rails/generators/erb/mailer/mailer_generator.rb
         | 
| @@ -249,10 +255,7 @@ files: | |
| 249 255 | 
             
            - lib/rails/generators/rails/app/templates/Gemfile.tt
         | 
| 250 256 | 
             
            - lib/rails/generators/rails/app/templates/README.md.tt
         | 
| 251 257 | 
             
            - lib/rails/generators/rails/app/templates/Rakefile.tt
         | 
| 252 | 
            -
            - lib/rails/generators/rails/app/templates/app/assets/config/manifest.js.tt
         | 
| 253 258 | 
             
            - lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt
         | 
| 254 | 
            -
            - lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb.tt
         | 
| 255 | 
            -
            - lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb.tt
         | 
| 256 259 | 
             
            - lib/rails/generators/rails/app/templates/app/controllers/application_controller.rb.tt
         | 
| 257 260 | 
             
            - lib/rails/generators/rails/app/templates/app/helpers/application_helper.rb.tt
         | 
| 258 261 | 
             
            - lib/rails/generators/rails/app/templates/app/jobs/application_job.rb.tt
         | 
| @@ -264,10 +267,12 @@ files: | |
| 264 267 | 
             
            - lib/rails/generators/rails/app/templates/app/views/pwa/manifest.json.erb.tt
         | 
| 265 268 | 
             
            - lib/rails/generators/rails/app/templates/app/views/pwa/service-worker.js
         | 
| 266 269 | 
             
            - lib/rails/generators/rails/app/templates/bin/brakeman.tt
         | 
| 270 | 
            +
            - lib/rails/generators/rails/app/templates/bin/dev.tt
         | 
| 267 271 | 
             
            - lib/rails/generators/rails/app/templates/bin/rails.tt
         | 
| 268 272 | 
             
            - lib/rails/generators/rails/app/templates/bin/rake.tt
         | 
| 269 273 | 
             
            - lib/rails/generators/rails/app/templates/bin/rubocop.tt
         | 
| 270 274 | 
             
            - lib/rails/generators/rails/app/templates/bin/setup.tt
         | 
| 275 | 
            +
            - lib/rails/generators/rails/app/templates/bin/thrust.tt
         | 
| 271 276 | 
             
            - lib/rails/generators/rails/app/templates/config.ru.tt
         | 
| 272 277 | 
             
            - lib/rails/generators/rails/app/templates/config/application.rb.tt
         | 
| 273 278 | 
             
            - lib/rails/generators/rails/app/templates/config/boot.rb.tt
         | 
| @@ -276,6 +281,7 @@ files: | |
| 276 281 | 
             
            - lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt
         | 
| 277 282 | 
             
            - lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt
         | 
| 278 283 | 
             
            - lib/rails/generators/rails/app/templates/config/databases/trilogy.yml.tt
         | 
| 284 | 
            +
            - lib/rails/generators/rails/app/templates/config/deploy.yml.tt
         | 
| 279 285 | 
             
            - lib/rails/generators/rails/app/templates/config/environment.rb.tt
         | 
| 280 286 | 
             
            - lib/rails/generators/rails/app/templates/config/environments/development.rb.tt
         | 
| 281 287 | 
             
            - lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
         | 
| @@ -285,8 +291,7 @@ files: | |
| 285 291 | 
             
            - lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt
         | 
| 286 292 | 
             
            - lib/rails/generators/rails/app/templates/config/initializers/filter_parameter_logging.rb.tt
         | 
| 287 293 | 
             
            - lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt
         | 
| 288 | 
            -
            - lib/rails/generators/rails/app/templates/config/initializers/ | 
| 289 | 
            -
            - lib/rails/generators/rails/app/templates/config/initializers/permissions_policy.rb.tt
         | 
| 294 | 
            +
            - lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_8_0.rb.tt
         | 
| 290 295 | 
             
            - lib/rails/generators/rails/app/templates/config/locales/en.yml
         | 
| 291 296 | 
             
            - lib/rails/generators/rails/app/templates/config/puma.rb.tt
         | 
| 292 297 | 
             
            - lib/rails/generators/rails/app/templates/config/routes.rb.tt
         | 
| @@ -298,7 +303,9 @@ files: | |
| 298 303 | 
             
            - lib/rails/generators/rails/app/templates/github/ci.yml.tt
         | 
| 299 304 | 
             
            - lib/rails/generators/rails/app/templates/github/dependabot.yml
         | 
| 300 305 | 
             
            - lib/rails/generators/rails/app/templates/gitignore.tt
         | 
| 306 | 
            +
            - lib/rails/generators/rails/app/templates/kamal-secrets.tt
         | 
| 301 307 | 
             
            - lib/rails/generators/rails/app/templates/node-version.tt
         | 
| 308 | 
            +
            - lib/rails/generators/rails/app/templates/public/400.html
         | 
| 302 309 | 
             
            - lib/rails/generators/rails/app/templates/public/404.html
         | 
| 303 310 | 
             
            - lib/rails/generators/rails/app/templates/public/406-unsupported-browser.html
         | 
| 304 311 | 
             
            - lib/rails/generators/rails/app/templates/public/422.html
         | 
| @@ -309,9 +316,20 @@ files: | |
| 309 316 | 
             
            - lib/rails/generators/rails/app/templates/rubocop.yml.tt
         | 
| 310 317 | 
             
            - lib/rails/generators/rails/app/templates/ruby-version.tt
         | 
| 311 318 | 
             
            - lib/rails/generators/rails/app/templates/test/application_system_test_case.rb.tt
         | 
| 312 | 
            -
            - lib/rails/generators/rails/app/templates/test/channels/application_cable/connection_test.rb.tt
         | 
| 313 319 | 
             
            - lib/rails/generators/rails/app/templates/test/test_helper.rb.tt
         | 
| 314 320 | 
             
            - lib/rails/generators/rails/application_record/application_record_generator.rb
         | 
| 321 | 
            +
            - lib/rails/generators/rails/authentication/USAGE
         | 
| 322 | 
            +
            - lib/rails/generators/rails/authentication/authentication_generator.rb
         | 
| 323 | 
            +
            - lib/rails/generators/rails/authentication/templates/controllers/concerns/authentication.rb
         | 
| 324 | 
            +
            - lib/rails/generators/rails/authentication/templates/controllers/passwords_controller.rb
         | 
| 325 | 
            +
            - lib/rails/generators/rails/authentication/templates/controllers/sessions_controller.rb
         | 
| 326 | 
            +
            - lib/rails/generators/rails/authentication/templates/mailers/passwords_mailer.rb
         | 
| 327 | 
            +
            - lib/rails/generators/rails/authentication/templates/models/current.rb
         | 
| 328 | 
            +
            - lib/rails/generators/rails/authentication/templates/models/session.rb
         | 
| 329 | 
            +
            - lib/rails/generators/rails/authentication/templates/models/user.rb
         | 
| 330 | 
            +
            - lib/rails/generators/rails/authentication/templates/test/mailers/previews/passwords_mailer_preview.rb
         | 
| 331 | 
            +
            - lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.html.erb
         | 
| 332 | 
            +
            - lib/rails/generators/rails/authentication/templates/views/passwords_mailer/reset.text.erb
         | 
| 315 333 | 
             
            - lib/rails/generators/rails/benchmark/USAGE
         | 
| 316 334 | 
             
            - lib/rails/generators/rails/benchmark/benchmark_generator.rb
         | 
| 317 335 | 
             
            - lib/rails/generators/rails/benchmark/templates/benchmark.rb.tt
         | 
| @@ -367,9 +385,6 @@ files: | |
| 367 385 | 
             
            - lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt
         | 
| 368 386 | 
             
            - lib/rails/generators/rails/plugin/templates/lib/tasks/%namespaced_name%_tasks.rake.tt
         | 
| 369 387 | 
             
            - lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt
         | 
| 370 | 
            -
            - lib/rails/generators/rails/plugin/templates/rails/dummy_manifest.js.tt
         | 
| 371 | 
            -
            - lib/rails/generators/rails/plugin/templates/rails/engine_manifest.js.tt
         | 
| 372 | 
            -
            - lib/rails/generators/rails/plugin/templates/rails/javascripts.js.tt
         | 
| 373 388 | 
             
            - lib/rails/generators/rails/plugin/templates/rails/routes.rb.tt
         | 
| 374 389 | 
             
            - lib/rails/generators/rails/plugin/templates/rails/stylesheets.css
         | 
| 375 390 | 
             
            - lib/rails/generators/rails/plugin/templates/rubocop.yml.tt
         | 
| @@ -386,6 +401,9 @@ files: | |
| 386 401 | 
             
            - lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb
         | 
| 387 402 | 
             
            - lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt
         | 
| 388 403 | 
             
            - lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt
         | 
| 404 | 
            +
            - lib/rails/generators/rails/script/USAGE
         | 
| 405 | 
            +
            - lib/rails/generators/rails/script/script_generator.rb
         | 
| 406 | 
            +
            - lib/rails/generators/rails/script/templates/script.rb.tt
         | 
| 389 407 | 
             
            - lib/rails/generators/rails/system_test/USAGE
         | 
| 390 408 | 
             
            - lib/rails/generators/rails/system_test/system_test_generator.rb
         | 
| 391 409 | 
             
            - lib/rails/generators/rails/task/USAGE
         | 
| @@ -432,6 +450,7 @@ files: | |
| 432 450 | 
             
            - lib/rails/pwa_controller.rb
         | 
| 433 451 | 
             
            - lib/rails/rack.rb
         | 
| 434 452 | 
             
            - lib/rails/rack/logger.rb
         | 
| 453 | 
            +
            - lib/rails/rack/silence_request.rb
         | 
| 435 454 | 
             
            - lib/rails/rackup/server.rb
         | 
| 436 455 | 
             
            - lib/rails/railtie.rb
         | 
| 437 456 | 
             
            - lib/rails/railtie/configurable.rb
         | 
| @@ -447,6 +466,7 @@ files: | |
| 447 466 | 
             
            - lib/rails/tasks/yarn.rake
         | 
| 448 467 | 
             
            - lib/rails/tasks/zeitwerk.rake
         | 
| 449 468 | 
             
            - lib/rails/templates/layouts/application.html.erb
         | 
| 469 | 
            +
            - lib/rails/templates/rails/info/notes.html.erb
         | 
| 450 470 | 
             
            - lib/rails/templates/rails/info/properties.html.erb
         | 
| 451 471 | 
             
            - lib/rails/templates/rails/info/routes.html.erb
         | 
| 452 472 | 
             
            - lib/rails/templates/rails/mailers/email.html.erb
         | 
| @@ -469,12 +489,12 @@ licenses: | |
| 469 489 | 
             
            - MIT
         | 
| 470 490 | 
             
            metadata:
         | 
| 471 491 | 
             
              bug_tracker_uri: https://github.com/rails/rails/issues
         | 
| 472 | 
            -
              changelog_uri: https://github.com/rails/rails/blob/ | 
| 473 | 
            -
              documentation_uri: https://api.rubyonrails.org/ | 
| 492 | 
            +
              changelog_uri: https://github.com/rails/rails/blob/v8.0.0.beta1/railties/CHANGELOG.md
         | 
| 493 | 
            +
              documentation_uri: https://api.rubyonrails.org/v8.0.0.beta1/
         | 
| 474 494 | 
             
              mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
         | 
| 475 | 
            -
              source_code_uri: https://github.com/rails/rails/tree/ | 
| 495 | 
            +
              source_code_uri: https://github.com/rails/rails/tree/v8.0.0.beta1/railties
         | 
| 476 496 | 
             
              rubygems_mfa_required: 'true'
         | 
| 477 | 
            -
            post_install_message:
         | 
| 497 | 
            +
            post_install_message: 
         | 
| 478 498 | 
             
            rdoc_options:
         | 
| 479 499 | 
             
            - "--exclude"
         | 
| 480 500 | 
             
            - "."
         | 
| @@ -484,15 +504,15 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 484 504 | 
             
              requirements:
         | 
| 485 505 | 
             
              - - ">="
         | 
| 486 506 | 
             
                - !ruby/object:Gem::Version
         | 
| 487 | 
            -
                  version: 3. | 
| 507 | 
            +
                  version: 3.2.0
         | 
| 488 508 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 489 509 | 
             
              requirements:
         | 
| 490 510 | 
             
              - - ">="
         | 
| 491 511 | 
             
                - !ruby/object:Gem::Version
         | 
| 492 512 | 
             
                  version: '0'
         | 
| 493 513 | 
             
            requirements: []
         | 
| 494 | 
            -
            rubygems_version: 3.5. | 
| 495 | 
            -
            signing_key:
         | 
| 514 | 
            +
            rubygems_version: 3.5.16
         | 
| 515 | 
            +
            signing_key: 
         | 
| 496 516 | 
             
            specification_version: 4
         | 
| 497 517 | 
             
            summary: Tools for creating, working with, and running Rails applications.
         | 
| 498 518 | 
             
            test_files: []
         |