railties 7.2.1 → 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 -287
 - 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 +5 -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 +1 -9
 - 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 +4 -4
 - data/lib/rails/generators/app_base.rb +46 -24
 - data/lib/rails/generators/database.rb +101 -67
 - 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 +19 -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/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 +11 -2
 - data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +3 -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: []
         
     |