railties 6.1.7.9 → 7.0.0.alpha1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +89 -468
- data/MIT-LICENSE +1 -1
- data/RDOC_MAIN.rdoc +16 -16
- data/README.rdoc +0 -1
- data/lib/rails/app_updater.rb +2 -4
- data/lib/rails/application/bootstrap.rb +17 -5
- data/lib/rails/application/configuration.rb +52 -31
- data/lib/rails/application/default_middleware_stack.rb +6 -3
- data/lib/rails/application/finisher.rb +43 -85
- data/lib/rails/application/routes_reloader.rb +8 -0
- data/lib/rails/application.rb +24 -50
- data/lib/rails/application_controller.rb +2 -2
- data/lib/rails/autoloaders/inflector.rb +21 -0
- data/lib/rails/autoloaders.rb +12 -16
- data/lib/rails/code_statistics.rb +2 -2
- data/lib/rails/code_statistics_calculator.rb +10 -1
- data/lib/rails/command/base.rb +26 -12
- data/lib/rails/command/behavior.rb +1 -1
- data/lib/rails/command/environment_argument.rb +1 -1
- data/lib/rails/command.rb +8 -5
- data/lib/rails/commands/credentials/USAGE +4 -2
- data/lib/rails/commands/credentials/credentials_command/diffing.rb +26 -16
- data/lib/rails/commands/credentials/credentials_command.rb +6 -2
- data/lib/rails/commands/dbconsole/dbconsole_command.rb +16 -15
- data/lib/rails/commands/help/USAGE +3 -2
- data/lib/rails/commands/runner/runner_command.rb +3 -2
- data/lib/rails/commands/server/server_command.rb +2 -5
- data/lib/rails/configuration.rb +18 -23
- data/lib/rails/engine/configuration.rb +2 -2
- data/lib/rails/engine.rb +23 -27
- data/lib/rails/gem_version.rb +4 -4
- data/lib/rails/generators/actions/create_migration.rb +2 -4
- data/lib/rails/generators/actions.rb +35 -13
- data/lib/rails/generators/app_base.rb +66 -102
- data/lib/rails/generators/app_name.rb +1 -1
- data/lib/rails/generators/base.rb +9 -13
- data/lib/rails/generators/erb/scaffold/scaffold_generator.rb +2 -0
- data/lib/rails/generators/erb/scaffold/templates/edit.html.erb.tt +8 -4
- data/lib/rails/generators/erb/scaffold/templates/index.html.erb.tt +5 -27
- data/lib/rails/generators/erb/scaffold/templates/new.html.erb.tt +7 -3
- data/lib/rails/generators/erb/scaffold/templates/partial.html.erb.tt +20 -0
- data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +7 -16
- data/lib/rails/generators/erb.rb +1 -1
- data/lib/rails/generators/generated_attribute.rb +40 -4
- data/lib/rails/generators/migration.rb +2 -6
- data/lib/rails/generators/model_helpers.rb +1 -1
- data/lib/rails/generators/named_base.rb +1 -1
- data/lib/rails/generators/rails/app/app_generator.rb +44 -88
- data/lib/rails/generators/rails/app/templates/Gemfile.tt +41 -52
- data/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css.tt +2 -2
- data/lib/rails/generators/rails/app/templates/app/mailers/application_mailer.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/app/models/application_record.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/app/views/layouts/application.html.erb.tt +3 -10
- data/lib/rails/generators/rails/app/templates/bin/rails.tt +1 -4
- data/lib/rails/generators/rails/app/templates/bin/rake.tt +0 -3
- data/lib/rails/generators/rails/app/templates/bin/setup.tt +9 -14
- data/lib/rails/generators/rails/app/templates/config/boot.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/databases/jdbc.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcmysql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/mysql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/oracle.yml.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.tt +3 -3
- data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/databases/sqlserver.yml.tt +5 -5
- data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +2 -11
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +9 -15
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +2 -7
- data/lib/rails/generators/rails/app/templates/config/initializers/assets.rb.tt +1 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +0 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/cors.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/config/initializers/inflections.rb.tt +4 -4
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt +85 -0
- data/lib/rails/generators/rails/app/templates/config/locales/en.yml +3 -3
- data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/routes.rb.tt +3 -0
- data/lib/rails/generators/rails/app/templates/config/storage.yml.tt +5 -5
- data/lib/rails/generators/rails/app/templates/db/seeds.rb.tt +2 -2
- data/lib/rails/generators/rails/app/templates/gitattributes.tt +0 -5
- data/lib/rails/generators/rails/app/templates/gitignore.tt +0 -1
- data/lib/rails/generators/rails/app/templates/test/test_helper.rb.tt +1 -1
- data/lib/rails/generators/rails/controller/controller_generator.rb +1 -2
- data/lib/rails/generators/rails/controller/templates/controller.rb.tt +0 -4
- data/lib/rails/generators/rails/db/system/change/change_generator.rb +1 -1
- data/lib/rails/generators/rails/generator/templates/%file_name%_generator.rb.tt +1 -1
- data/lib/rails/generators/rails/plugin/plugin_generator.rb +40 -15
- data/lib/rails/generators/rails/plugin/templates/%name%.gemspec.tt +4 -2
- data/lib/rails/generators/rails/plugin/templates/Gemfile.tt +9 -9
- data/lib/rails/generators/rails/plugin/templates/README.md.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/app/mailers/%namespaced_name%/application_mailer.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/app/models/%namespaced_name%/application_record.rb.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/app/views/layouts/%namespaced_name%/application.html.erb.tt +0 -3
- data/lib/rails/generators/rails/plugin/templates/bin/rails.tt +4 -4
- data/lib/rails/generators/rails/plugin/templates/gitignore.tt +0 -5
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/engine.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/lib/%namespaced_name%/version.rb.tt +1 -1
- data/lib/rails/generators/rails/plugin/templates/rails/boot.rb.tt +2 -2
- data/lib/rails/generators/rails/plugin/templates/test/test_helper.rb.tt +3 -3
- data/lib/rails/generators/rails/scaffold/scaffold_generator.rb +0 -19
- data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +1 -5
- data/lib/rails/generators/rails/scaffold_controller/templates/controller.rb.tt +6 -10
- data/lib/rails/generators/resource_helpers.rb +2 -2
- data/lib/rails/generators/test_unit/generator/templates/generator_test.rb.tt +1 -1
- data/lib/rails/generators/test_unit/model/templates/fixtures.yml.tt +2 -2
- data/lib/rails/generators/test_unit/scaffold/scaffold_generator.rb +3 -3
- data/lib/rails/generators/test_unit/scaffold/templates/api_functional_test.rb.tt +5 -5
- data/lib/rails/generators/test_unit/scaffold/templates/functional_test.rb.tt +2 -2
- data/lib/rails/generators/test_unit/scaffold/templates/system_test.rb.tt +3 -3
- data/lib/rails/generators/testing/behaviour.rb +1 -2
- data/lib/rails/generators.rb +9 -22
- data/lib/rails/info.rb +1 -1
- data/lib/rails/info_controller.rb +1 -3
- data/lib/rails/initializable.rb +1 -1
- data/lib/rails/mailers_controller.rb +2 -4
- data/lib/rails/rack/logger.rb +0 -1
- data/lib/rails/railtie/configuration.rb +1 -2
- data/lib/rails/railtie.rb +9 -9
- data/lib/rails/ruby_version_check.rb +3 -3
- data/lib/rails/secrets.rb +8 -10
- data/lib/rails/tasks/framework.rake +2 -8
- data/lib/rails/tasks/statistics.rake +3 -1
- data/lib/rails/tasks/tmp.rake +8 -1
- data/lib/rails/tasks/yarn.rake +5 -1
- data/lib/rails/tasks/zeitwerk.rake +2 -10
- data/lib/rails/templates/layouts/application.html.erb +15 -0
- data/lib/rails/templates/rails/mailers/email.html.erb +12 -10
- data/lib/rails/templates/rails/welcome/index.html.erb +3 -0
- data/lib/rails/test_unit/railtie.rb +0 -4
- data/lib/rails/test_unit/runner.rb +7 -5
- data/lib/rails/test_unit/testing.rake +4 -9
- data/lib/rails.rb +1 -0
- metadata +34 -36
- data/lib/rails/command/spellchecker.rb +0 -57
- data/lib/rails/generators/css/assets/assets_generator.rb +0 -15
- data/lib/rails/generators/css/assets/templates/stylesheet.css +0 -4
- data/lib/rails/generators/css/scaffold/scaffold_generator.rb +0 -18
- data/lib/rails/generators/rails/app/templates/app/javascript/channels/consumer.js +0 -6
- data/lib/rails/generators/rails/app/templates/app/javascript/channels/index.js +0 -5
- data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +0 -23
- data/lib/rails/generators/rails/app/templates/bin/spring.tt +0 -13
- data/lib/rails/generators/rails/app/templates/bin/yarn.tt +0 -16
- data/lib/rails/generators/rails/app/templates/config/initializers/application_controller_renderer.rb.tt +0 -8
- data/lib/rails/generators/rails/app/templates/config/initializers/cookies_serializer.rb.tt +0 -5
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_1.rb.tt +0 -67
- data/lib/rails/generators/rails/app/templates/config/spring.rb.tt +0 -6
- data/lib/rails/generators/rails/app/templates/package.json.tt +0 -11
- data/lib/rails/generators/rails/assets/USAGE +0 -16
- data/lib/rails/generators/rails/assets/assets_generator.rb +0 -26
- data/lib/rails/generators/rails/assets/templates/stylesheet.css +0 -4
- data/lib/rails/generators/rails/scaffold/templates/scaffold.css +0 -80
@@ -5,14 +5,14 @@
|
|
5
5
|
# gem install activerecord-sqlserver-adapter
|
6
6
|
#
|
7
7
|
# Ensure the activerecord adapter and db driver gems are defined in your Gemfile
|
8
|
-
# gem
|
9
|
-
# gem
|
8
|
+
# gem "tiny_tds"
|
9
|
+
# gem "activerecord-sqlserver-adapter"
|
10
10
|
#
|
11
11
|
default: &default
|
12
12
|
adapter: sqlserver
|
13
13
|
encoding: utf8
|
14
14
|
username: sa
|
15
|
-
password: <%%= ENV[
|
15
|
+
password: <%%= ENV["SA_PASSWORD"] %>
|
16
16
|
host: localhost
|
17
17
|
|
18
18
|
development:
|
@@ -41,7 +41,7 @@ test:
|
|
41
41
|
# URL environment variable explicitly:
|
42
42
|
#
|
43
43
|
# production:
|
44
|
-
# url: <%%= ENV[
|
44
|
+
# url: <%%= ENV["MY_APP_DATABASE_URL"] %>
|
45
45
|
#
|
46
46
|
# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database
|
47
47
|
# for a full overview on how database connection configuration can be specified.
|
@@ -50,4 +50,4 @@ production:
|
|
50
50
|
<<: *default
|
51
51
|
database: <%= app_name %>_production
|
52
52
|
username: <%= app_name %>
|
53
|
-
password: <%%= ENV[
|
53
|
+
password: <%%= ENV["<%= app_name.upcase %>_DATABASE_PASSWORD"] %>
|
@@ -16,7 +16,7 @@ Rails.application.configure do
|
|
16
16
|
|
17
17
|
# Enable/disable caching. By default caching is disabled.
|
18
18
|
# Run rails dev:cache to toggle caching.
|
19
|
-
if Rails.root.join(
|
19
|
+
if Rails.root.join("tmp/caching-dev.txt").exist?
|
20
20
|
<%- unless options.api? -%>
|
21
21
|
config.action_controller.perform_caching = true
|
22
22
|
config.action_controller.enable_fragment_cache_logging = true
|
@@ -24,7 +24,7 @@ Rails.application.configure do
|
|
24
24
|
<%- end -%>
|
25
25
|
config.cache_store = :memory_store
|
26
26
|
config.public_file_server.headers = {
|
27
|
-
|
27
|
+
"Cache-Control" => "public, max-age=#{2.days.to_i}"
|
28
28
|
}
|
29
29
|
else
|
30
30
|
config.action_controller.perform_caching = false
|
@@ -62,11 +62,6 @@ Rails.application.configure do
|
|
62
62
|
|
63
63
|
<%- end -%>
|
64
64
|
<%- unless options.skip_sprockets? -%>
|
65
|
-
# Debug mode disables concatenation and preprocessing of assets.
|
66
|
-
# This option may cause significant delays in view rendering with a large
|
67
|
-
# number of complex assets.
|
68
|
-
config.assets.debug = true
|
69
|
-
|
70
65
|
# Suppress logger output for asset requests.
|
71
66
|
config.assets.quiet = true
|
72
67
|
<%- end -%>
|
@@ -77,10 +72,6 @@ Rails.application.configure do
|
|
77
72
|
# Annotate rendered view with file names.
|
78
73
|
# config.action_view.annotate_rendered_view_with_filenames = true
|
79
74
|
|
80
|
-
# Use an evented file watcher to asynchronously detect changes in source code,
|
81
|
-
# routes, locales, etc. This feature depends on the listen gem.
|
82
|
-
<%= '# ' unless depend_on_listen? %>config.file_watcher = ActiveSupport::EventedFileUpdateChecker
|
83
|
-
|
84
75
|
# Uncomment if you wish to allow Action Cable access from any origin.
|
85
76
|
# config.action_cable.disable_request_forgery_protection = true
|
86
77
|
end
|
@@ -24,7 +24,7 @@ Rails.application.configure do
|
|
24
24
|
|
25
25
|
# Disable serving static files from the `/public` folder by default since
|
26
26
|
# Apache or NGINX already handles this.
|
27
|
-
config.public_file_server.enabled = ENV[
|
27
|
+
config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?
|
28
28
|
|
29
29
|
<%- unless options.skip_sprockets? -%>
|
30
30
|
# Compress CSS using a preprocessor.
|
@@ -35,11 +35,11 @@ Rails.application.configure do
|
|
35
35
|
|
36
36
|
<%- end -%>
|
37
37
|
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
38
|
-
# config.asset_host =
|
38
|
+
# config.asset_host = "http://assets.example.com"
|
39
39
|
|
40
40
|
# Specifies the header that your server uses for sending files.
|
41
|
-
# config.action_dispatch.x_sendfile_header =
|
42
|
-
# config.action_dispatch.x_sendfile_header =
|
41
|
+
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
|
42
|
+
# config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
|
43
43
|
|
44
44
|
<%- unless skip_active_storage? -%>
|
45
45
|
# Store uploaded files on the local file system (see config/storage.yml for options).
|
@@ -49,8 +49,8 @@ Rails.application.configure do
|
|
49
49
|
<%- unless options[:skip_action_cable] -%>
|
50
50
|
# Mount Action Cable outside main process or domain.
|
51
51
|
# config.action_cable.mount_path = nil
|
52
|
-
# config.action_cable.url =
|
53
|
-
# config.action_cable.allowed_request_origins = [
|
52
|
+
# config.action_cable.url = "wss://example.com/cable"
|
53
|
+
# config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ]
|
54
54
|
|
55
55
|
<%- end -%>
|
56
56
|
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
@@ -84,21 +84,15 @@ Rails.application.configure do
|
|
84
84
|
# the I18n.default_locale when a translation cannot be found).
|
85
85
|
config.i18n.fallbacks = true
|
86
86
|
|
87
|
-
#
|
88
|
-
config.active_support.
|
89
|
-
|
90
|
-
# Log disallowed deprecations.
|
91
|
-
config.active_support.disallowed_deprecation = :log
|
92
|
-
|
93
|
-
# Tell Active Support which deprecation messages to disallow.
|
94
|
-
config.active_support.disallowed_deprecation_warnings = []
|
87
|
+
# Don't log any deprecations.
|
88
|
+
config.active_support.report_deprecations = false
|
95
89
|
|
96
90
|
# Use default logging formatter so that PID and timestamp are not suppressed.
|
97
91
|
config.log_formatter = ::Logger::Formatter.new
|
98
92
|
|
99
93
|
# Use a different logger for distributed setups.
|
100
94
|
# require "syslog/logger"
|
101
|
-
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new
|
95
|
+
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name")
|
102
96
|
|
103
97
|
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
104
98
|
logger = ActiveSupport::Logger.new(STDOUT)
|
@@ -8,13 +8,8 @@ require "active_support/core_ext/integer/time"
|
|
8
8
|
Rails.application.configure do
|
9
9
|
# Settings specified here will take precedence over those in config/application.rb.
|
10
10
|
|
11
|
-
|
12
|
-
<%- if spring_install? -%>
|
13
|
-
config.cache_classes = false
|
14
|
-
config.action_view.cache_template_loading = true
|
15
|
-
<%- else -%>
|
11
|
+
# Turn false under Spring and add config.action_view.cache_template_loading = true
|
16
12
|
config.cache_classes = true
|
17
|
-
<%- end -%>
|
18
13
|
|
19
14
|
# Do not eager load code on boot. This avoids loading your whole application
|
20
15
|
# just for the purpose of running a single test. If you are using a tool that
|
@@ -24,7 +19,7 @@ Rails.application.configure do
|
|
24
19
|
# Configure public file server for tests with Cache-Control for performance.
|
25
20
|
config.public_file_server.enabled = true
|
26
21
|
config.public_file_server.headers = {
|
27
|
-
|
22
|
+
"Cache-Control" => "public, max-age=#{1.hour.to_i}"
|
28
23
|
}
|
29
24
|
|
30
25
|
# Show full error reports and disable caching.
|
@@ -1,14 +1,10 @@
|
|
1
1
|
# Be sure to restart your server when you modify this file.
|
2
2
|
|
3
3
|
# Version of your assets, change this if you want to expire all your assets.
|
4
|
-
Rails.application.config.assets.version =
|
4
|
+
Rails.application.config.assets.version = "1.0"
|
5
5
|
|
6
6
|
# Add additional assets to the asset load path.
|
7
7
|
# Rails.application.config.assets.paths << Emoji.images_path
|
8
|
-
<%- unless options[:skip_javascript] -%>
|
9
|
-
# Add Yarn node_modules folder to the asset load path.
|
10
|
-
Rails.application.config.assets.paths << Rails.root.join('node_modules')
|
11
|
-
<%- end -%>
|
12
8
|
|
13
9
|
# Precompile additional assets.
|
14
10
|
# application.js, application.css, and all non-JS/CSS in the app/assets
|
data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt
CHANGED
@@ -11,11 +11,6 @@
|
|
11
11
|
# policy.object_src :none
|
12
12
|
# policy.script_src :self, :https
|
13
13
|
# policy.style_src :self, :https
|
14
|
-
<%- unless options[:skip_javascript] -%>
|
15
|
-
# # If you are using webpack-dev-server then specify webpack-dev-server host
|
16
|
-
# policy.connect_src :self, :https, "http://localhost:3035", "ws://localhost:3035" if Rails.env.development?
|
17
|
-
<%- end -%>
|
18
|
-
|
19
14
|
# # Specify URI for violation reports
|
20
15
|
# # policy.report_uri "/csp-violation-report-endpoint"
|
21
16
|
# end
|
@@ -7,9 +7,9 @@
|
|
7
7
|
|
8
8
|
# Rails.application.config.middleware.insert_before 0, Rack::Cors do
|
9
9
|
# allow do
|
10
|
-
# origins
|
10
|
+
# origins "example.com"
|
11
11
|
#
|
12
|
-
# resource
|
12
|
+
# resource "*",
|
13
13
|
# headers: :any,
|
14
14
|
# methods: [:get, :post, :put, :patch, :delete, :options, :head]
|
15
15
|
# end
|
@@ -4,13 +4,13 @@
|
|
4
4
|
# are locale specific, and you may define rules for as many different
|
5
5
|
# locales as you wish. All of these examples are active by default:
|
6
6
|
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
7
|
-
# inflect.plural /^(ox)$/i,
|
8
|
-
# inflect.singular /^(ox)en/i,
|
9
|
-
# inflect.irregular
|
7
|
+
# inflect.plural /^(ox)$/i, "\\1en"
|
8
|
+
# inflect.singular /^(ox)en/i, "\\1"
|
9
|
+
# inflect.irregular "person", "people"
|
10
10
|
# inflect.uncountable %w( fish sheep )
|
11
11
|
# end
|
12
12
|
|
13
13
|
# These inflection rules are supported but not enabled by default:
|
14
14
|
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
15
|
-
# inflect.acronym
|
15
|
+
# inflect.acronym "RESTful"
|
16
16
|
# end
|
data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_7_0.rb.tt
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
# Be sure to restart your server when you modify this file.
|
2
|
+
#
|
3
|
+
# This file eases your Rails 7.0 framework defaults upgrade.
|
4
|
+
#
|
5
|
+
# Uncomment each configuration one by one to switch to the new default.
|
6
|
+
# Once your application is ready to run with all new defaults, you can remove
|
7
|
+
# this file and set the `config.load_defaults` to `7.0`.
|
8
|
+
#
|
9
|
+
# Read the Guide for Upgrading Ruby on Rails for more info on each option.
|
10
|
+
# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
|
11
|
+
|
12
|
+
# Raise an error when trying to use forgery protection without a working
|
13
|
+
# session.
|
14
|
+
# Rails.application.config.action_controller.silence_disabled_session_errors = false
|
15
|
+
|
16
|
+
# `button_to` view helper will render `<button>` element, regardless of whether
|
17
|
+
# or not the content is passed as the first argument or as a block.
|
18
|
+
# Rails.application.config.action_view.button_to_generates_button_tag = true
|
19
|
+
|
20
|
+
# `stylesheet_link_tag` view helper will not render the media attribute by default.
|
21
|
+
# Rails.application.config.action_view.apply_stylesheet_media_default = false
|
22
|
+
|
23
|
+
# Change the digest class for the key generators to `OpenSSL::Digest::SHA256`.
|
24
|
+
# Changing this default means invalidate all encrypted messages generated by
|
25
|
+
# your application and, all the encrypted cookies. Only change this after you
|
26
|
+
# rotated all the messages using the key rotator.
|
27
|
+
#
|
28
|
+
# See upgrading guide for more information on how to build a rotator.
|
29
|
+
# https://guides.rubyonrails.org/v7.0/upgrading_ruby_on_rails.html
|
30
|
+
# Rails.application.config.active_support.key_generator_hash_digest_class = OpenSSL::Digest::SHA256
|
31
|
+
|
32
|
+
# Change the digest class for ActiveSupport::Digest.
|
33
|
+
# Changing this default means that for example Etags change and
|
34
|
+
# various cache keys leading to cache invalidation.
|
35
|
+
# Rails.application.config.active_support.hash_digest_class = OpenSSL::Digest::SHA256
|
36
|
+
|
37
|
+
# Don't override ActiveSupport::TimeWithZone.name and use the default Ruby
|
38
|
+
# implementation.
|
39
|
+
# Rails.application.config.active_support.remove_deprecated_time_with_zone_name = true
|
40
|
+
|
41
|
+
# Change the format of the cache entry.
|
42
|
+
# Changing this default means that all new cache entries added to the cache
|
43
|
+
# will have a different format that is not supported by Rails 6.1 applications.
|
44
|
+
# Only change this value after your application is fully deployed to Rails 7.0
|
45
|
+
# and you have no plans to rollback.
|
46
|
+
# Rails.application.config.active_support.cache_format_version = 7.0
|
47
|
+
|
48
|
+
# Set both the `:open_timeout` and `:read_timeout` values for `:smtp` delivery method.
|
49
|
+
# Rails.application.config.action_mailer.smtp_timeout = 5
|
50
|
+
|
51
|
+
# The ActiveStorage video previewer will now use scene change detection to generate
|
52
|
+
# better preview images (rather than the previous default of using the first frame
|
53
|
+
# of the video).
|
54
|
+
# Rails.application.config.active_storage.video_preview_arguments =
|
55
|
+
# "-vf 'select=eq(n\\,0)+eq(key\\,1)+gt(scene\\,0.015),loop=loop=-1:size=2,trim=start_frame=1' -frames:v 1 -f image2"
|
56
|
+
|
57
|
+
# Raise when running tests if fixtures contained foreign key violations
|
58
|
+
# Rails.application.config.active_record.verify_foreign_keys_for_fixtures = true
|
59
|
+
|
60
|
+
# Disable partial inserts.
|
61
|
+
# This default means that all columns will be referenced in INSERT queries
|
62
|
+
# regardless of whether they have a default or not.
|
63
|
+
# Rails.application.config.active_record.partial_inserts = false
|
64
|
+
#
|
65
|
+
# Protect from open redirect attacks in `redirect_back_or_to` and `redirect_to`.
|
66
|
+
# Rails.application.config.action_controller.raise_on_open_redirects = true
|
67
|
+
|
68
|
+
# Change the variant processor for Active Storage.
|
69
|
+
# Changing this default means updating all places in your code that
|
70
|
+
# generate variants to use image processing macros and ruby-vips
|
71
|
+
# operations. See the upgrading guide for detail on the changes required.
|
72
|
+
# The `:mini_magick` option is not deprecated; it's fine to keep using it.
|
73
|
+
# Rails.application.config.active_storage.variant_processor = :vips
|
74
|
+
|
75
|
+
# If you're upgrading and haven't set `cookies_serializer` previously, your cookie serializer
|
76
|
+
# was `:marshal`. Convert all cookies to JSON, using the `:hybrid` formatter.
|
77
|
+
#
|
78
|
+
# If you're confident all your cookies are JSON formatted, you can switch to the `:json` formatter.
|
79
|
+
#
|
80
|
+
# Continue to use `:marshal` for backward-compatibility with old cookies.
|
81
|
+
#
|
82
|
+
# If you have configured the serializer elsewhere, you can remove this.
|
83
|
+
#
|
84
|
+
# See https://guides.rubyonrails.org/action_controller_overview.html#cookies for more information.
|
85
|
+
# Rails.application.config.action_dispatch.cookies_serializer = :hybrid
|
@@ -4,11 +4,11 @@
|
|
4
4
|
#
|
5
5
|
# To use the locales, use `I18n.t`:
|
6
6
|
#
|
7
|
-
# I18n.t
|
7
|
+
# I18n.t "hello"
|
8
8
|
#
|
9
9
|
# In views, this is aliased to just `t`:
|
10
10
|
#
|
11
|
-
# <%= t(
|
11
|
+
# <%= t("hello") %>
|
12
12
|
#
|
13
13
|
# To use a different locale, set it with `I18n.locale`:
|
14
14
|
#
|
@@ -24,7 +24,7 @@
|
|
24
24
|
# Instead, surround them with single quotes.
|
25
25
|
#
|
26
26
|
# en:
|
27
|
-
#
|
27
|
+
# "true": "foo"
|
28
28
|
#
|
29
29
|
# To learn more, please read the Rails Internationalization guide
|
30
30
|
# available at https://guides.rubyonrails.org/i18n.html.
|
@@ -6,27 +6,27 @@ local:
|
|
6
6
|
service: Disk
|
7
7
|
root: <%%= Rails.root.join("storage") %>
|
8
8
|
|
9
|
-
# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
|
9
|
+
# Use bin/rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
|
10
10
|
# amazon:
|
11
11
|
# service: S3
|
12
12
|
# access_key_id: <%%= Rails.application.credentials.dig(:aws, :access_key_id) %>
|
13
13
|
# secret_access_key: <%%= Rails.application.credentials.dig(:aws, :secret_access_key) %>
|
14
14
|
# region: us-east-1
|
15
|
-
# bucket: your_own_bucket
|
15
|
+
# bucket: your_own_bucket-<%%= Rails.env %>
|
16
16
|
|
17
17
|
# Remember not to checkin your GCS keyfile to a repository
|
18
18
|
# google:
|
19
19
|
# service: GCS
|
20
20
|
# project: your_project
|
21
21
|
# credentials: <%%= Rails.root.join("path/to/gcs.keyfile") %>
|
22
|
-
# bucket: your_own_bucket
|
22
|
+
# bucket: your_own_bucket-<%%= Rails.env %>
|
23
23
|
|
24
|
-
# Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)
|
24
|
+
# Use bin/rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key)
|
25
25
|
# microsoft:
|
26
26
|
# service: AzureStorage
|
27
27
|
# storage_account_name: your_account_name
|
28
28
|
# storage_access_key: <%%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %>
|
29
|
-
# container: your_container_name
|
29
|
+
# container: your_container_name-<%%= Rails.env %>
|
30
30
|
|
31
31
|
# mirror:
|
32
32
|
# service: Mirror
|
@@ -3,5 +3,5 @@
|
|
3
3
|
#
|
4
4
|
# Examples:
|
5
5
|
#
|
6
|
-
# movies = Movie.create([{ name:
|
7
|
-
# Character.create(name:
|
6
|
+
# movies = Movie.create([{ name: "Star Wars" }, { name: "Lord of the Rings" }])
|
7
|
+
# Character.create(name: "Luke", movie: movies.first)
|
@@ -5,10 +5,5 @@
|
|
5
5
|
db/schema.rb linguist-generated
|
6
6
|
<% end -%>
|
7
7
|
|
8
|
-
<% unless options[:skip_javascript] -%>
|
9
|
-
# Mark the yarn lockfile as having been generated.
|
10
|
-
yarn.lock linguist-generated
|
11
|
-
<% end -%>
|
12
|
-
|
13
8
|
# Mark any vendored files as having been vendored.
|
14
9
|
vendor/* linguist-vendored
|
@@ -6,7 +6,6 @@ module Rails
|
|
6
6
|
argument :actions, type: :array, default: [], banner: "action action"
|
7
7
|
class_option :skip_routes, type: :boolean, desc: "Don't add routes to config/routes.rb."
|
8
8
|
class_option :helper, type: :boolean
|
9
|
-
class_option :assets, type: :boolean
|
10
9
|
|
11
10
|
check_class_collision suffix: "Controller"
|
12
11
|
|
@@ -21,7 +20,7 @@ module Rails
|
|
21
20
|
route routing_code, namespace: regular_class_path
|
22
21
|
end
|
23
22
|
|
24
|
-
hook_for :template_engine, :test_framework, :helper
|
23
|
+
hook_for :template_engine, :test_framework, :helper do |generator|
|
25
24
|
invoke generator, [ remove_possible_suffix(name), actions ]
|
26
25
|
end
|
27
26
|
|
@@ -26,11 +26,15 @@ module Rails
|
|
26
26
|
empty_directory_with_keep_file "app/assets/images/#{namespaced_name}"
|
27
27
|
end
|
28
28
|
|
29
|
+
empty_directory_with_keep_file "app/models/concerns"
|
30
|
+
empty_directory_with_keep_file "app/controllers/concerns"
|
29
31
|
remove_dir "app/mailers" if options[:skip_action_mailer]
|
30
32
|
remove_dir "app/jobs" if options[:skip_active_job]
|
31
33
|
elsif full?
|
32
34
|
empty_directory_with_keep_file "app/models"
|
33
35
|
empty_directory_with_keep_file "app/controllers"
|
36
|
+
empty_directory_with_keep_file "app/models/concerns"
|
37
|
+
empty_directory_with_keep_file "app/controllers/concerns"
|
34
38
|
empty_directory_with_keep_file "app/mailers" unless options[:skip_action_mailer]
|
35
39
|
empty_directory_with_keep_file "app/jobs" unless options[:skip_active_job]
|
36
40
|
|
@@ -51,7 +55,7 @@ module Rails
|
|
51
55
|
end
|
52
56
|
|
53
57
|
def license
|
54
|
-
template "MIT-LICENSE"
|
58
|
+
template "MIT-LICENSE" unless inside_application?
|
55
59
|
end
|
56
60
|
|
57
61
|
def gemspec
|
@@ -65,6 +69,9 @@ module Rails
|
|
65
69
|
def version_control
|
66
70
|
if !options[:skip_git] && !options[:pretend]
|
67
71
|
run "git init", capture: options[:quiet], abort_on_failure: false
|
72
|
+
if user_default_branch.strip.empty?
|
73
|
+
`git symbolic-ref HEAD refs/heads/main`
|
74
|
+
end
|
68
75
|
end
|
69
76
|
end
|
70
77
|
|
@@ -87,12 +94,22 @@ module Rails
|
|
87
94
|
def test
|
88
95
|
template "test/test_helper.rb"
|
89
96
|
template "test/%namespaced_name%_test.rb"
|
90
|
-
append_file "Rakefile",
|
91
|
-
|
92
|
-
|
93
|
-
task default: :test
|
97
|
+
append_file "Rakefile", <<~EOF
|
98
|
+
#{rakefile_test_tasks}
|
99
|
+
task default: :test
|
94
100
|
EOF
|
101
|
+
|
95
102
|
if engine?
|
103
|
+
empty_directory_with_keep_file "test/fixtures/files"
|
104
|
+
empty_directory_with_keep_file "test/controllers"
|
105
|
+
empty_directory_with_keep_file "test/mailers"
|
106
|
+
empty_directory_with_keep_file "test/models"
|
107
|
+
empty_directory_with_keep_file "test/integration"
|
108
|
+
|
109
|
+
unless api?
|
110
|
+
empty_directory_with_keep_file "test/helpers"
|
111
|
+
end
|
112
|
+
|
96
113
|
template "test/integration/navigation_test.rb"
|
97
114
|
end
|
98
115
|
end
|
@@ -103,11 +120,8 @@ task default: :test
|
|
103
120
|
opts = options.transform_keys(&:to_sym).except(*DUMMY_IGNORE_OPTIONS)
|
104
121
|
opts[:force] = force
|
105
122
|
opts[:skip_bundle] = true
|
106
|
-
opts[:skip_spring] = true
|
107
|
-
opts[:skip_listen] = true
|
108
123
|
opts[:skip_git] = true
|
109
|
-
opts[:
|
110
|
-
opts[:skip_webpack_install] = true
|
124
|
+
opts[:skip_hotwire] = true
|
111
125
|
opts[:dummy_app] = true
|
112
126
|
|
113
127
|
invoke Rails::Generators::AppGenerator,
|
@@ -124,10 +138,16 @@ task default: :test
|
|
124
138
|
if mountable?
|
125
139
|
template "rails/routes.rb", "#{dummy_path}/config/routes.rb", force: true
|
126
140
|
end
|
141
|
+
if engine? && !api?
|
142
|
+
insert_into_file "#{dummy_path}/config/application.rb", indent(<<~RUBY, 4), after: /^\s*config\.load_defaults.*\n/
|
143
|
+
|
144
|
+
# For compatibility with applications that use this config
|
145
|
+
config.action_controller.include_all_helpers = false
|
146
|
+
RUBY
|
147
|
+
end
|
127
148
|
end
|
128
149
|
|
129
|
-
def
|
130
|
-
template "rails/javascripts.js", "#{dummy_path}/app/javascript/packs/application.js", force: true
|
150
|
+
def test_dummy_sprocket_assets
|
131
151
|
template "rails/stylesheets.css", "#{dummy_path}/app/assets/stylesheets/application.css", force: true
|
132
152
|
template "rails/dummy_manifest.js", "#{dummy_path}/app/assets/config/manifest.js", force: true
|
133
153
|
end
|
@@ -175,6 +195,11 @@ task default: :test
|
|
175
195
|
append_file gemfile_in_app_path, entry
|
176
196
|
end
|
177
197
|
end
|
198
|
+
|
199
|
+
private
|
200
|
+
def user_default_branch
|
201
|
+
@user_default_branch ||= `git config init.defaultbranch`
|
202
|
+
end
|
178
203
|
end
|
179
204
|
|
180
205
|
module Generators
|
@@ -216,7 +241,7 @@ task default: :test
|
|
216
241
|
build(:gemspec) unless options[:skip_gemspec]
|
217
242
|
build(:license)
|
218
243
|
build(:gitignore) unless options[:skip_git]
|
219
|
-
build(:gemfile)
|
244
|
+
build(:gemfile)
|
220
245
|
build(:version_control)
|
221
246
|
end
|
222
247
|
|
@@ -291,7 +316,7 @@ task default: :test
|
|
291
316
|
mute do
|
292
317
|
build(:generate_test_dummy)
|
293
318
|
build(:test_dummy_config)
|
294
|
-
build(:
|
319
|
+
build(:test_dummy_sprocket_assets) unless options[:skip_sprockets]
|
295
320
|
build(:test_dummy_clean)
|
296
321
|
# ensure that bin/rails has proper dummy_path
|
297
322
|
build(:bin, true)
|
@@ -398,8 +423,8 @@ task default: :test
|
|
398
423
|
require "rake/testtask"
|
399
424
|
|
400
425
|
Rake::TestTask.new(:test) do |t|
|
401
|
-
t.libs <<
|
402
|
-
t.pattern =
|
426
|
+
t.libs << "test"
|
427
|
+
t.pattern = "test/**/*_test.rb"
|
403
428
|
t.verbose = false
|
404
429
|
end
|
405
430
|
RUBY
|
@@ -8,9 +8,11 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.homepage = "TODO"
|
9
9
|
spec.summary = "TODO: Summary of <%= camelized_modules %>."
|
10
10
|
spec.description = "TODO: Description of <%= camelized_modules %>."
|
11
|
+
<% unless inside_application? -%>
|
11
12
|
spec.license = "MIT"
|
13
|
+
<% end -%>
|
12
14
|
|
13
|
-
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the
|
15
|
+
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the "allowed_push_host"
|
14
16
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
15
17
|
spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
16
18
|
|
@@ -20,5 +22,5 @@ Gem::Specification.new do |spec|
|
|
20
22
|
|
21
23
|
spec.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.md"]
|
22
24
|
|
23
|
-
<%=
|
25
|
+
<%= "# " if options.dev? || options.edge? || options.main? -%>spec.add_dependency "rails", "<%= Array(rails_version_specifier).join('", "') %>"
|
24
26
|
end
|