railties 6.0.0.beta3 → 6.0.2.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +139 -8
- data/RDOC_MAIN.rdoc +3 -4
- data/README.rdoc +1 -1
- data/lib/rails/api/task.rb +1 -0
- data/lib/rails/application.rb +6 -3
- data/lib/rails/application/bootstrap.rb +2 -10
- data/lib/rails/application/configuration.rb +45 -1
- data/lib/rails/application/default_middleware_stack.rb +1 -0
- data/lib/rails/application/dummy_erb_compiler.rb +18 -0
- data/lib/rails/application/finisher.rb +44 -1
- data/lib/rails/autoloaders.rb +14 -2
- data/lib/rails/command/base.rb +4 -0
- data/lib/rails/command/environment_argument.rb +7 -4
- data/lib/rails/commands/console/console_command.rb +6 -0
- data/lib/rails/commands/credentials/USAGE +1 -1
- data/lib/rails/commands/credentials/credentials_command.rb +17 -3
- data/lib/rails/commands/dbconsole/dbconsole_command.rb +19 -7
- data/lib/rails/commands/dev/dev_command.rb +4 -2
- data/lib/rails/commands/encrypted/USAGE +28 -0
- data/lib/rails/commands/encrypted/encrypted_command.rb +1 -0
- data/lib/rails/commands/initializers/initializers_command.rb +7 -0
- data/lib/rails/commands/notes/notes_command.rb +1 -1
- data/lib/rails/commands/runner/runner_command.rb +7 -3
- data/lib/rails/commands/server/server_command.rb +8 -6
- data/lib/rails/engine.rb +35 -36
- data/lib/rails/engine/configuration.rb +3 -2
- data/lib/rails/gem_version.rb +2 -2
- data/lib/rails/generators.rb +2 -0
- data/lib/rails/generators/app_base.rb +5 -5
- data/lib/rails/generators/app_name.rb +2 -2
- data/lib/rails/generators/base.rb +4 -0
- data/lib/rails/generators/database.rb +1 -1
- data/lib/rails/generators/erb/scaffold/templates/_form.html.erb.tt +6 -3
- data/lib/rails/generators/erb/scaffold/templates/show.html.erb.tt +8 -0
- data/lib/rails/generators/generated_attribute.rb +36 -10
- data/lib/rails/generators/named_base.rb +1 -1
- data/lib/rails/generators/rails/app/app_generator.rb +1 -0
- data/lib/rails/generators/rails/app/templates/Gemfile.tt +4 -4
- data/lib/rails/generators/rails/app/templates/app/javascript/packs/application.js.tt +8 -0
- data/lib/rails/generators/rails/app/templates/bin/setup.tt +3 -2
- data/lib/rails/generators/rails/app/templates/config/databases/jdbcsqlite3.yml.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/databases/sqlite3.yml.tt +1 -1
- data/lib/rails/generators/rails/app/templates/config/environments/development.rb.tt +2 -0
- data/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt +2 -0
- data/lib/rails/generators/rails/app/templates/config/environments/test.rb.tt +10 -4
- data/lib/rails/generators/rails/app/templates/config/initializers/content_security_policy.rb.tt +3 -0
- data/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_6_0.rb.tt +12 -0
- data/lib/rails/generators/rails/app/templates/config/puma.rb.tt +3 -0
- data/lib/rails/generators/rails/app/templates/gitignore.tt +1 -0
- data/lib/rails/generators/rails/app/templates/package.json.tt +3 -3
- data/lib/rails/generators/rails/app/templates/public/robots.txt +1 -1
- data/lib/rails/generators/rails/app/templates/ruby-version.tt +1 -1
- data/lib/rails/generators/rails/assets/assets_generator.rb +7 -0
- data/lib/rails/generators/rails/db/system/change/change_generator.rb +12 -2
- data/lib/rails/generators/rails/plugin/plugin_generator.rb +0 -15
- data/lib/rails/generators/rails/plugin/templates/gitignore.tt +1 -0
- data/lib/rails/generators/rails/scaffold_controller/scaffold_controller_generator.rb +14 -0
- data/lib/rails/generators/rails/scaffold_controller/templates/api_controller.rb.tt +1 -1
- data/lib/rails/generators/rails/scaffold_controller/templates/controller.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 +7 -2
- data/lib/rails/info.rb +1 -1
- data/lib/rails/mailers_controller.rb +6 -3
- data/lib/rails/source_annotation_extractor.rb +19 -6
- data/lib/rails/tasks.rb +1 -0
- data/lib/rails/tasks/zeitwerk.rake +66 -0
- metadata +18 -13
- data/lib/rails/generators/rails/app/templates/bin/update.tt +0 -33
@@ -2,10 +2,10 @@
|
|
2
2
|
"name": "<%= app_name %>",
|
3
3
|
"private": true,
|
4
4
|
"dependencies": {
|
5
|
-
"@rails/ujs": "^6.0.0
|
5
|
+
"@rails/ujs": "^6.0.0"<% unless options[:skip_turbolinks] %>,
|
6
6
|
"turbolinks": "^5.2.0"<% end -%><% unless skip_active_storage? %>,
|
7
|
-
"@rails/activestorage": "^6.0.0
|
8
|
-
"@rails/actioncable": "^6.0.0
|
7
|
+
"@rails/activestorage": "^6.0.0"<% end -%><% unless options[:skip_action_cable] %>,
|
8
|
+
"@rails/actioncable": "^6.0.0"<% end %>
|
9
9
|
},
|
10
10
|
"version": "0.1.0"
|
11
11
|
}
|
@@ -1 +1 @@
|
|
1
|
-
# See
|
1
|
+
# See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
|
@@ -1 +1 @@
|
|
1
|
-
<%= ENV["RBENV_VERSION"] || ENV["rvm_ruby_string"] || "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}"
|
1
|
+
<%= ENV["RBENV_VERSION"] || ENV["rvm_ruby_string"] || "#{RUBY_ENGINE}-#{RUBY_ENGINE_VERSION}" %>
|
@@ -3,7 +3,10 @@
|
|
3
3
|
module Rails
|
4
4
|
module Generators
|
5
5
|
class AssetsGenerator < NamedBase # :nodoc:
|
6
|
+
class_option :javascripts, type: :boolean, desc: "Generate JavaScripts"
|
6
7
|
class_option :stylesheets, type: :boolean, desc: "Generate Stylesheets"
|
8
|
+
|
9
|
+
class_option :javascript_engine, desc: "Engine for JavaScripts"
|
7
10
|
class_option :stylesheet_engine, desc: "Engine for Stylesheets"
|
8
11
|
|
9
12
|
private
|
@@ -11,6 +14,10 @@ module Rails
|
|
11
14
|
file_name
|
12
15
|
end
|
13
16
|
|
17
|
+
hook_for :javascript_engine do |javascript_engine|
|
18
|
+
invoke javascript_engine, [name] if options[:javascripts]
|
19
|
+
end
|
20
|
+
|
14
21
|
hook_for :stylesheet_engine do |stylesheet_engine|
|
15
22
|
invoke stylesheet_engine, [name] if options[:stylesheets]
|
16
23
|
end
|
@@ -35,8 +35,9 @@ module Rails
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def edit_gemfile
|
38
|
-
|
39
|
-
gsub_file("Gemfile", all_database_gems_regex,
|
38
|
+
name, version = gem_for_database
|
39
|
+
gsub_file("Gemfile", all_database_gems_regex, name)
|
40
|
+
gsub_file("Gemfile", gem_entry_regex_for(name), gem_entry_for(name, *version))
|
40
41
|
end
|
41
42
|
|
42
43
|
private
|
@@ -48,6 +49,15 @@ module Rails
|
|
48
49
|
all_database_gem_names = all_database_gems.map(&:first)
|
49
50
|
/(\b#{all_database_gem_names.join('\b|\b')}\b)/
|
50
51
|
end
|
52
|
+
|
53
|
+
def gem_entry_regex_for(gem_name)
|
54
|
+
/^gem.*\b#{gem_name}\b.*/
|
55
|
+
end
|
56
|
+
|
57
|
+
def gem_entry_for(*gem_name_and_version)
|
58
|
+
gem_name_and_version.map! { |segment| "'#{segment}'" }
|
59
|
+
"gem #{gem_name_and_version.join(", ")}"
|
60
|
+
end
|
51
61
|
end
|
52
62
|
end
|
53
63
|
end
|
@@ -144,17 +144,6 @@ task default: :test
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
def javascripts
|
148
|
-
return if options.skip_javascript?
|
149
|
-
|
150
|
-
if mountable?
|
151
|
-
template "rails/javascripts.js",
|
152
|
-
"app/assets/javascripts/#{namespaced_name}/application.js"
|
153
|
-
elsif full?
|
154
|
-
empty_directory_with_keep_file "app/assets/javascripts/#{namespaced_name}"
|
155
|
-
end
|
156
|
-
end
|
157
|
-
|
158
147
|
def bin(force = false)
|
159
148
|
bin_file = engine? ? "bin/rails.tt" : "bin/test.tt"
|
160
149
|
template bin_file, force: force do |content|
|
@@ -236,10 +225,6 @@ task default: :test
|
|
236
225
|
build(:stylesheets) unless api?
|
237
226
|
end
|
238
227
|
|
239
|
-
def create_javascript_files
|
240
|
-
build(:javascripts) unless api?
|
241
|
-
end
|
242
|
-
|
243
228
|
def create_bin_files
|
244
229
|
build(:bin)
|
245
230
|
end
|
@@ -32,6 +32,20 @@ module Rails
|
|
32
32
|
hook_for :helper, as: :scaffold do |invoked|
|
33
33
|
invoke invoked, [ controller_name ]
|
34
34
|
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def permitted_params
|
39
|
+
attachments, others = attributes_names.partition { |name| attachments?(name) }
|
40
|
+
params = others.map { |name| ":#{name}" }
|
41
|
+
params += attachments.map { |name| "#{name}: []" }
|
42
|
+
params.join(", ")
|
43
|
+
end
|
44
|
+
|
45
|
+
def attachments?(name)
|
46
|
+
attribute = attributes.find { |attr| attr.name == name }
|
47
|
+
attribute&.attachments?
|
48
|
+
end
|
35
49
|
end
|
36
50
|
end
|
37
51
|
end
|
@@ -54,7 +54,7 @@ class <%= controller_class_name %>Controller < ApplicationController
|
|
54
54
|
<%- if attributes_names.empty? -%>
|
55
55
|
params.fetch(:<%= singular_table_name %>, {})
|
56
56
|
<%- else -%>
|
57
|
-
params.require(:<%= singular_table_name %>).permit(<%=
|
57
|
+
params.require(:<%= singular_table_name %>).permit(<%= permitted_params %>)
|
58
58
|
<%- end -%>
|
59
59
|
end
|
60
60
|
end
|
@@ -61,7 +61,7 @@ class <%= controller_class_name %>Controller < ApplicationController
|
|
61
61
|
<%- if attributes_names.empty? -%>
|
62
62
|
params.fetch(:<%= singular_table_name %>, {})
|
63
63
|
<%- else -%>
|
64
|
-
params.require(:<%= singular_table_name %>).permit(<%=
|
64
|
+
params.require(:<%= singular_table_name %>).permit(<%= permitted_params %>)
|
65
65
|
<%- end -%>
|
66
66
|
end
|
67
67
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Read about fixtures at
|
1
|
+
# Read about fixtures at https://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
2
2
|
<% unless attributes.empty? -%>
|
3
3
|
<% %w(one two).each do |name| %>
|
4
4
|
<%= name %>:
|
@@ -7,7 +7,7 @@
|
|
7
7
|
password_digest: <%%= BCrypt::Password.create('secret') %>
|
8
8
|
<%- elsif attribute.reference? -%>
|
9
9
|
<%= yaml_key_value(attribute.column_name.sub(/_id$/, ''), attribute.default || name) %>
|
10
|
-
<%-
|
10
|
+
<%- elsif !attribute.virtual? -%>
|
11
11
|
<%= yaml_key_value(attribute.column_name, attribute.default) %>
|
12
12
|
<%- end -%>
|
13
13
|
<%- if attribute.polymorphic? -%>
|
@@ -49,16 +49,21 @@ module TestUnit # :nodoc:
|
|
49
49
|
attributes_names.map do |name|
|
50
50
|
if %w(password password_confirmation).include?(name) && attributes.any?(&:password_digest?)
|
51
51
|
["#{name}", "'secret'"]
|
52
|
-
|
52
|
+
elsif !virtual?(name)
|
53
53
|
["#{name}", "@#{singular_table_name}.#{name}"]
|
54
54
|
end
|
55
|
-
end.sort.to_h
|
55
|
+
end.compact.sort.to_h
|
56
56
|
end
|
57
57
|
|
58
58
|
def boolean?(name)
|
59
59
|
attribute = attributes.find { |attr| attr.name == name }
|
60
60
|
attribute&.type == :boolean
|
61
61
|
end
|
62
|
+
|
63
|
+
def virtual?(name)
|
64
|
+
attribute = attributes.find { |attr| attr.name == name }
|
65
|
+
attribute&.virtual?
|
66
|
+
end
|
62
67
|
end
|
63
68
|
end
|
64
69
|
end
|
data/lib/rails/info.rb
CHANGED
@@ -5,8 +5,9 @@ require "rails/application_controller"
|
|
5
5
|
class Rails::MailersController < Rails::ApplicationController # :nodoc:
|
6
6
|
prepend_view_path ActionDispatch::DebugView::RESCUES_TEMPLATE_PATH
|
7
7
|
|
8
|
+
around_action :set_locale, only: :preview
|
9
|
+
before_action :find_preview, only: :preview
|
8
10
|
before_action :require_local!, unless: :show_previews?
|
9
|
-
before_action :find_preview, :set_locale, only: :preview
|
10
11
|
|
11
12
|
helper_method :part_query, :locale_query
|
12
13
|
|
@@ -38,7 +39,7 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
|
|
38
39
|
end
|
39
40
|
else
|
40
41
|
@part = find_preferred_part(request.format, Mime[:html], Mime[:text])
|
41
|
-
render action: "email", layout: false, formats:
|
42
|
+
render action: "email", layout: false, formats: [:html]
|
42
43
|
end
|
43
44
|
else
|
44
45
|
raise AbstractController::ActionNotFound, "Email '#{@email_action}' not found in #{@preview.name}"
|
@@ -92,6 +93,8 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
|
|
92
93
|
end
|
93
94
|
|
94
95
|
def set_locale
|
95
|
-
I18n.
|
96
|
+
I18n.with_locale(params[:locale] || I18n.default_locale) do
|
97
|
+
yield
|
98
|
+
end
|
96
99
|
end
|
97
100
|
end
|
@@ -2,11 +2,6 @@
|
|
2
2
|
|
3
3
|
require "active_support/deprecation"
|
4
4
|
|
5
|
-
# Remove this deprecated class in the next minor version
|
6
|
-
#:nodoc:
|
7
|
-
SourceAnnotationExtractor = ActiveSupport::Deprecation::DeprecatedConstantProxy.
|
8
|
-
new("SourceAnnotationExtractor", "Rails::SourceAnnotationExtractor")
|
9
|
-
|
10
5
|
module Rails
|
11
6
|
# Implements the logic behind <tt>Rails::Command::NotesCommand</tt>. See <tt>rails notes --help</tt> for usage information.
|
12
7
|
#
|
@@ -29,6 +24,16 @@ module Rails
|
|
29
24
|
directories.push(*dirs)
|
30
25
|
end
|
31
26
|
|
27
|
+
def self.tags
|
28
|
+
@@tags ||= %w(OPTIMIZE FIXME TODO)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Registers additional tags
|
32
|
+
# Rails::SourceAnnotationExtractor::Annotation.register_tags("TESTME", "DEPRECATEME")
|
33
|
+
def self.register_tags(*additional_tags)
|
34
|
+
tags.push(*additional_tags)
|
35
|
+
end
|
36
|
+
|
32
37
|
def self.extensions
|
33
38
|
@@extensions ||= {}
|
34
39
|
end
|
@@ -66,6 +71,8 @@ module Rails
|
|
66
71
|
# Prints all annotations with tag +tag+ under the root directories +app+,
|
67
72
|
# +config+, +db+, +lib+, and +test+ (recursively).
|
68
73
|
#
|
74
|
+
# If +tag+ is <tt>nil</tt>, annotations with either default or registered tags are printed.
|
75
|
+
#
|
69
76
|
# Specific directories can be explicitly set using the <tt>:dirs</tt> key in +options+.
|
70
77
|
#
|
71
78
|
# Rails::SourceAnnotationExtractor.enumerate 'TODO|FIXME', dirs: %w(app lib), tag: true
|
@@ -75,7 +82,8 @@ module Rails
|
|
75
82
|
# See <tt>#find_in</tt> for a list of file extensions that will be taken into account.
|
76
83
|
#
|
77
84
|
# This class method is the single entry point for the `rails notes` command.
|
78
|
-
def self.enumerate(tag, options = {})
|
85
|
+
def self.enumerate(tag = nil, options = {})
|
86
|
+
tag ||= Annotation.tags.join("|")
|
79
87
|
extractor = new(tag)
|
80
88
|
dirs = options.delete(:dirs) || Annotation.directories
|
81
89
|
extractor.display(extractor.find(dirs), options)
|
@@ -147,3 +155,8 @@ module Rails
|
|
147
155
|
end
|
148
156
|
end
|
149
157
|
end
|
158
|
+
|
159
|
+
# Remove this deprecated class in the next minor version
|
160
|
+
#:nodoc:
|
161
|
+
SourceAnnotationExtractor = ActiveSupport::Deprecation::DeprecatedConstantProxy.
|
162
|
+
new("SourceAnnotationExtractor", "Rails::SourceAnnotationExtractor")
|
data/lib/rails/tasks.rb
CHANGED
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
ensure_zeitwerk_mode = ->() do
|
4
|
+
unless Rails.autoloaders.zeitwerk_enabled?
|
5
|
+
abort "Please, enable :zeitwerk mode in config/application.rb and try again."
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
eager_load = ->() do
|
10
|
+
puts "Hold on, I am eager loading the application."
|
11
|
+
Zeitwerk::Loader.eager_load_all
|
12
|
+
end
|
13
|
+
|
14
|
+
report_not_checked = ->(not_checked) do
|
15
|
+
puts
|
16
|
+
puts <<~EOS
|
17
|
+
WARNING: The files in these directories cannot be checked because they
|
18
|
+
are not eager loaded:
|
19
|
+
EOS
|
20
|
+
puts
|
21
|
+
|
22
|
+
not_checked.each { |dir| puts " #{dir}" }
|
23
|
+
puts
|
24
|
+
|
25
|
+
puts <<~EOS
|
26
|
+
You may verify them manually, or add them to config.eager_load_paths
|
27
|
+
in config/application.rb and run zeitwerk:check again.
|
28
|
+
EOS
|
29
|
+
puts
|
30
|
+
end
|
31
|
+
|
32
|
+
report = ->(not_checked) do
|
33
|
+
if not_checked.any?
|
34
|
+
report_not_checked[not_checked]
|
35
|
+
puts "Otherwise, all is good!"
|
36
|
+
else
|
37
|
+
puts "All is good!"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
namespace :zeitwerk do
|
42
|
+
desc "Checks project structure for Zeitwerk compatibility"
|
43
|
+
task check: :environment do
|
44
|
+
ensure_zeitwerk_mode[]
|
45
|
+
|
46
|
+
begin
|
47
|
+
eager_load[]
|
48
|
+
rescue NameError => e
|
49
|
+
if e.message =~ /expected file .*? to define constant [\w:]+/
|
50
|
+
abort $&.sub(/expected file #{Regexp.escape(Rails.root.to_s)}./, "expected file ")
|
51
|
+
else
|
52
|
+
raise
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
eager_load_paths = Rails.configuration.eager_load_namespaces.map do |eln|
|
57
|
+
eln.config.eager_load_paths if eln.respond_to?(:config)
|
58
|
+
end.compact.flatten
|
59
|
+
|
60
|
+
not_checked = ActiveSupport::Dependencies.autoload_paths - eager_load_paths
|
61
|
+
not_checked.select! { |dir| Dir.exist?(dir) }
|
62
|
+
not_checked.reject! { |dir| Dir.empty?(dir) }
|
63
|
+
|
64
|
+
report[not_checked]
|
65
|
+
end
|
66
|
+
end
|
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: 6.0.
|
4
|
+
version: 6.0.2.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-12-09 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: 6.0.
|
19
|
+
version: 6.0.2.rc2
|
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: 6.0.
|
26
|
+
version: 6.0.2.rc2
|
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: 6.0.
|
33
|
+
version: 6.0.2.rc2
|
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: 6.0.
|
40
|
+
version: 6.0.2.rc2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,14 +92,14 @@ dependencies:
|
|
92
92
|
requirements:
|
93
93
|
- - '='
|
94
94
|
- !ruby/object:Gem::Version
|
95
|
-
version: 6.0.
|
95
|
+
version: 6.0.2.rc2
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
100
|
- - '='
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version: 6.0.
|
102
|
+
version: 6.0.2.rc2
|
103
103
|
description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
|
104
104
|
email: david@loudthinking.com
|
105
105
|
executables:
|
@@ -123,6 +123,7 @@ files:
|
|
123
123
|
- lib/rails/application/bootstrap.rb
|
124
124
|
- lib/rails/application/configuration.rb
|
125
125
|
- lib/rails/application/default_middleware_stack.rb
|
126
|
+
- lib/rails/application/dummy_erb_compiler.rb
|
126
127
|
- lib/rails/application/finisher.rb
|
127
128
|
- lib/rails/application/routes_reloader.rb
|
128
129
|
- lib/rails/application_controller.rb
|
@@ -147,6 +148,7 @@ files:
|
|
147
148
|
- lib/rails/commands/dbconsole/dbconsole_command.rb
|
148
149
|
- lib/rails/commands/destroy/destroy_command.rb
|
149
150
|
- lib/rails/commands/dev/dev_command.rb
|
151
|
+
- lib/rails/commands/encrypted/USAGE
|
150
152
|
- lib/rails/commands/encrypted/encrypted_command.rb
|
151
153
|
- lib/rails/commands/generate/generate_command.rb
|
152
154
|
- lib/rails/commands/help/USAGE
|
@@ -226,7 +228,6 @@ files:
|
|
226
228
|
- lib/rails/generators/rails/app/templates/bin/rails.tt
|
227
229
|
- lib/rails/generators/rails/app/templates/bin/rake.tt
|
228
230
|
- lib/rails/generators/rails/app/templates/bin/setup.tt
|
229
|
-
- lib/rails/generators/rails/app/templates/bin/update.tt
|
230
231
|
- lib/rails/generators/rails/app/templates/bin/yarn.tt
|
231
232
|
- lib/rails/generators/rails/app/templates/config.ru.tt
|
232
233
|
- lib/rails/generators/rails/app/templates/config/application.rb.tt
|
@@ -410,6 +411,7 @@ files:
|
|
410
411
|
- lib/rails/tasks/statistics.rake
|
411
412
|
- lib/rails/tasks/tmp.rake
|
412
413
|
- lib/rails/tasks/yarn.rake
|
414
|
+
- lib/rails/tasks/zeitwerk.rake
|
413
415
|
- lib/rails/templates/layouts/application.html.erb
|
414
416
|
- lib/rails/templates/rails/info/properties.html.erb
|
415
417
|
- lib/rails/templates/rails/info/routes.html.erb
|
@@ -425,12 +427,15 @@ files:
|
|
425
427
|
- lib/rails/test_unit/testing.rake
|
426
428
|
- lib/rails/version.rb
|
427
429
|
- lib/rails/welcome_controller.rb
|
428
|
-
homepage:
|
430
|
+
homepage: https://rubyonrails.org
|
429
431
|
licenses:
|
430
432
|
- MIT
|
431
433
|
metadata:
|
432
|
-
|
433
|
-
changelog_uri: https://github.com/rails/rails/blob/v6.0.
|
434
|
+
bug_tracker_uri: https://github.com/rails/rails/issues
|
435
|
+
changelog_uri: https://github.com/rails/rails/blob/v6.0.2.rc2/railties/CHANGELOG.md
|
436
|
+
documentation_uri: https://api.rubyonrails.org/v6.0.2.rc2/
|
437
|
+
mailing_list_uri: https://groups.google.com/forum/#!forum/rubyonrails-talk
|
438
|
+
source_code_uri: https://github.com/rails/rails/tree/v6.0.2.rc2/railties
|
434
439
|
post_install_message:
|
435
440
|
rdoc_options:
|
436
441
|
- "--exclude"
|
@@ -448,7 +453,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
448
453
|
- !ruby/object:Gem::Version
|
449
454
|
version: 1.3.1
|
450
455
|
requirements: []
|
451
|
-
rubygems_version: 3.0.
|
456
|
+
rubygems_version: 3.0.3
|
452
457
|
signing_key:
|
453
458
|
specification_version: 4
|
454
459
|
summary: Tools for creating, working with, and running Rails applications.
|