railties 6.1.0 → 6.1.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1adfe379d94049a35a1306f22a5d1368e3b88455d57bb1e4764b845f7ec7e0c5
4
- data.tar.gz: 1ff026a5d1cc46e2cb543b15568fb2f12915d468a3c3723efd2daa18d70fc04a
3
+ metadata.gz: 5aec339306019871f8653723de4632456dd76486a889edd0622d1609610a668c
4
+ data.tar.gz: d10197f3a4d4d5ed980f06da505c316aa60b397da3edc5328ad5f6a0d6db4b59
5
5
  SHA512:
6
- metadata.gz: 1b297610d901f515027eb7bb31b3bf912437ccc0643276ba5b166216fe41f8f6e74b42783002d8bd1a904fa512b18ffbcb258375d019299918a21c5b6c220cf6
7
- data.tar.gz: 9b1c0e55db347c811b93edb2e68dee00b99cd476e917de5e138c09faa4eaaaa1df3a374bc54b09934895c22993080e327d530129ba4163f209cd42d438deaabe
6
+ metadata.gz: 7d6653e07db48e2e36736216556a43e522d172b620bcf13d7096eab91d56d720bffa09af64365831bab53279993e0d530884470d5e6d61213f73c02cff1bbfbc
7
+ data.tar.gz: 761d0f69dd0509c7649a4370ebfeb74d29d84b18ba52ed90cc09f656b7cfca095e7443f0444733f38af6f24346437b7498b1139cac79300ff853ef9a15ed1583
data/CHANGELOG.md CHANGED
@@ -1,3 +1,36 @@
1
+ ## Rails 6.1.3.1 (March 26, 2021) ##
2
+
3
+ * No changes.
4
+
5
+
6
+ ## Rails 6.1.3 (February 17, 2021) ##
7
+
8
+ * No changes.
9
+
10
+
11
+ ## Rails 6.1.2.1 (February 10, 2021) ##
12
+
13
+ * No changes.
14
+
15
+
16
+ ## Rails 6.1.2 (February 09, 2021) ##
17
+
18
+ * No changes.
19
+
20
+
21
+ ## Rails 6.1.1 (January 07, 2021) ##
22
+
23
+ * Allow spaces in path to Yarn binstub and only run on precompile if needed.
24
+
25
+ *Markus Doits*
26
+
27
+ * Populate ARGV for app template.
28
+
29
+ Fixes #40945.
30
+
31
+ *Jonathan Hefner*
32
+
33
+
1
34
  ## Rails 6.1.0 (December 09, 2020) ##
2
35
 
3
36
  * Added `Railtie#server` hook called when Rails starts a server.
data/README.rdoc CHANGED
@@ -17,7 +17,7 @@ The latest version of Railties can be installed with RubyGems:
17
17
 
18
18
  Source code can be downloaded as part of the Rails project on GitHub
19
19
 
20
- * https://github.com/rails/rails/tree/master/railties
20
+ * https://github.com/rails/rails/tree/main/railties
21
21
 
22
22
  == License
23
23
 
@@ -189,7 +189,7 @@ module Rails
189
189
 
190
190
  class EdgeTask < RepoTask
191
191
  def rails_version
192
- "master@#{`git rev-parse HEAD`[0, 7]}"
192
+ "main@#{`git rev-parse HEAD`[0, 7]}"
193
193
  end
194
194
  end
195
195
 
@@ -183,6 +183,7 @@ module Rails
183
183
 
184
184
  if respond_to?(:action_view)
185
185
  action_view.form_with_generates_remote_forms = false
186
+ action_view.preload_links_header = true
186
187
  end
187
188
 
188
189
  if respond_to?(:active_storage)
@@ -5,7 +5,7 @@ require "rails/source_annotation_extractor"
5
5
  module Rails
6
6
  module Command
7
7
  class NotesCommand < Base # :nodoc:
8
- class_option :annotations, aliases: "-a", desc: "Filter by specific annotations, e.g. Foobar TODO", type: :array, default: Rails::SourceAnnotationExtractor::Annotation.tags
8
+ class_option :annotations, aliases: "-a", desc: "Filter by specific annotations, e.g. Foobar TODO", type: :array
9
9
 
10
10
  def perform(*)
11
11
  require_application_and_environment!
@@ -15,7 +15,7 @@ module Rails
15
15
 
16
16
  private
17
17
  def display_annotations
18
- annotations = options[:annotations]
18
+ annotations = options[:annotations] || Rails::SourceAnnotationExtractor::Annotation.tags
19
19
  tag = (annotations.length > 1)
20
20
 
21
21
  Rails::SourceAnnotationExtractor.enumerate annotations.join("|"), tag: tag, dirs: directories
@@ -9,8 +9,8 @@ module Rails
9
9
  module VERSION
10
10
  MAJOR = 6
11
11
  MINOR = 1
12
- TINY = 0
13
- PRE = nil
12
+ TINY = 3
13
+ PRE = "1"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -98,7 +98,7 @@ module Rails
98
98
  desc: "Set up the #{name} with Gemfile pointing to Rails repository"
99
99
 
100
100
  class_option :master, type: :boolean, default: false,
101
- desc: "Set up the #{name} with Gemfile pointing to Rails repository master branch"
101
+ desc: "Set up the #{name} with Gemfile pointing to Rails repository main branch"
102
102
 
103
103
  class_option :rc, type: :string, default: nil,
104
104
  desc: "Path to file containing extra configuration options for rails command"
@@ -110,8 +110,9 @@ module Rails
110
110
  desc: "Show this help message and quit"
111
111
  end
112
112
 
113
- def initialize(*args)
114
- @gem_filter = lambda { |gem| true }
113
+ def initialize(positional_argv, option_argv, *)
114
+ @argv = [*positional_argv, *option_argv]
115
+ @gem_filter = lambda { |gem| true }
115
116
  @extra_entries = []
116
117
  super
117
118
  end
@@ -172,9 +173,14 @@ module Rails
172
173
  end
173
174
 
174
175
  def apply_rails_template # :doc:
176
+ original_argv = ARGV.dup
177
+ ARGV.replace(@argv)
178
+
175
179
  apply rails_template if rails_template
176
180
  rescue Thor::Error, LoadError, Errno::ENOENT => e
177
181
  raise Error, "The template [#{rails_template}] could not be loaded. Error: #{e}"
182
+ ensure
183
+ ARGV.replace(original_argv)
178
184
  end
179
185
 
180
186
  def set_default_accessors! # :doc:
@@ -295,16 +301,16 @@ module Rails
295
301
  ]
296
302
  elsif options.edge?
297
303
  [
298
- GemfileEntry.github("rails", "rails/rails")
304
+ GemfileEntry.github("rails", "rails/rails", "6-1-stable")
299
305
  ]
300
306
  elsif options.master?
301
307
  [
302
- GemfileEntry.github("rails", "rails/rails", "master")
308
+ GemfileEntry.github("rails", "rails/rails", "main")
303
309
  ]
304
310
  else
305
311
  [GemfileEntry.version("rails",
306
312
  rails_version_specifier,
307
- "Bundle edge Rails instead: gem 'rails', github: 'rails/rails'")]
313
+ "Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main'")]
308
314
  end
309
315
  end
310
316
 
@@ -423,11 +429,19 @@ module Rails
423
429
  end
424
430
 
425
431
  def run_webpack
426
- if webpack_install?
427
- rails_command "webpacker:install"
428
- if options[:webpack] && options[:webpack] != "webpack"
429
- rails_command "webpacker:install:#{options[:webpack]}"
430
- end
432
+ return unless webpack_install?
433
+
434
+ unless bundle_install?
435
+ say <<~EXPLAIN
436
+ Skipping `rails webpacker:install` because `bundle install` was skipped.
437
+ To complete setup, you must run `bundle install` followed by `rails webpacker:install`.
438
+ EXPLAIN
439
+ return
440
+ end
441
+
442
+ rails_command "webpacker:install"
443
+ if options[:webpack] && options[:webpack] != "webpack"
444
+ rails_command "webpacker:install:#{options[:webpack]}"
431
445
  end
432
446
  end
433
447
 
@@ -104,9 +104,7 @@ module Rails
104
104
  end
105
105
 
106
106
  def yarn_when_updating
107
- return if File.exist?("bin/yarn")
108
-
109
- template "bin/yarn" do |content|
107
+ template "bin/yarn", force: true do |content|
110
108
  "#{shebang}\n" + content
111
109
  end
112
110
 
@@ -1,9 +1,13 @@
1
1
  if !defined?(Spring) && [nil, "development", "test"].include?(ENV["RAILS_ENV"])
2
- # Load Spring without loading other gems in the Gemfile, for speed.
2
+ gem "bundler"
3
3
  require "bundler"
4
- Bundler.locked_gems.specs.find { |spec| spec.name == "spring" }&.tap do |spring|
4
+
5
+ # Load Spring without loading other gems in the Gemfile, for speed.
6
+ Bundler.locked_gems&.specs&.find { |spec| spec.name == "spring" }&.tap do |spring|
5
7
  Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
6
8
  gem "spring", spring.version
7
9
  require "spring/binstub"
10
+ rescue Gem::LoadError
11
+ # Ignore when Spring is not installed.
8
12
  end
9
13
  end
@@ -1,15 +1,13 @@
1
- require 'pathname'
2
-
3
1
  APP_ROOT = File.expand_path('..', __dir__)
4
2
  Dir.chdir(APP_ROOT) do
5
- executable_path = ENV["PATH"].split(File::PATH_SEPARATOR).find do |path|
6
- normalized_path = File.expand_path(path)
7
-
8
- normalized_path != __dir__ && File.executable?(Pathname.new(normalized_path).join('yarn'))
9
- end
3
+ yarn = ENV["PATH"].split(File::PATH_SEPARATOR).
4
+ select { |dir| File.expand_path(dir) != __dir__ }.
5
+ product(["yarn", "yarn.cmd", "yarn.ps1"]).
6
+ map { |dir, file| File.expand_path(file, dir) }.
7
+ find { |file| File.executable?(file) }
10
8
 
11
- if executable_path
12
- exec File.expand_path(Pathname.new(executable_path).join('yarn')), *ARGV
9
+ if yarn
10
+ exec yarn, *ARGV
13
11
  else
14
12
  $stderr.puts "Yarn executable was not detected in the system."
15
13
  $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
@@ -61,3 +61,7 @@
61
61
 
62
62
  # Set the default queue name for the mail deliver job to the queue adapter default.
63
63
  # Rails.application.config.action_mailer.deliver_later_queue_name = nil
64
+
65
+ # Generate a `Link` header that gives a hint to modern browsers about
66
+ # preloading assets when using `javascript_include_tag` and `stylesheet_link_tag`.
67
+ # Rails.application.config.action_view.preload_links_header = true
@@ -103,6 +103,7 @@ task default: :test
103
103
  opts = options.transform_keys(&:to_sym).except(*DUMMY_IGNORE_OPTIONS)
104
104
  opts[:force] = force
105
105
  opts[:skip_bundle] = true
106
+ opts[:skip_spring] = true
106
107
  opts[:skip_listen] = true
107
108
  opts[:skip_git] = true
108
109
  opts[:skip_turbolinks] = true
data/lib/rails/railtie.rb CHANGED
@@ -120,11 +120,11 @@ module Rails
120
120
  # this less confusing for everyone.
121
121
  # It can be used like this:
122
122
  #
123
- # class MyRailtie < Rails::Railtie
124
- # server do
125
- # WebpackServer.start
123
+ # class MyRailtie < Rails::Railtie
124
+ # server do
125
+ # WebpackServer.start
126
+ # end
126
127
  # end
127
- # end
128
128
  #
129
129
  # == Application and Engine
130
130
  #
@@ -72,7 +72,7 @@ module Rails
72
72
  #
73
73
  # See <tt>#find_in</tt> for a list of file extensions that will be taken into account.
74
74
  #
75
- # This class method is the single entry point for the `rails notes` command.
75
+ # This class method is the single entry point for the <tt>rails notes</tt> command.
76
76
  def self.enumerate(tag = nil, options = {})
77
77
  tag ||= Annotation.tags.join("|")
78
78
  extractor = new(tag)
@@ -10,17 +10,21 @@ namespace :yarn do
10
10
  end
11
11
 
12
12
  yarn_flags =
13
- if `#{Rails.root}/bin/yarn --version`.start_with?("1")
13
+ if `"#{Rails.root}/bin/yarn" --version`.start_with?("1")
14
14
  "--no-progress --frozen-lockfile"
15
15
  else
16
16
  "--immutable"
17
17
  end
18
18
 
19
- system({ "NODE_ENV" => node_env }, "#{Rails.root}/bin/yarn install #{yarn_flags}")
19
+ system({ "NODE_ENV" => node_env }, "\"#{Rails.root}/bin/yarn\" install #{yarn_flags}")
20
+ rescue Errno::ENOENT
21
+ $stderr.puts "bin/yarn was not found."
22
+ $stderr.puts "Please run `bundle exec rails app:update:bin` to create it."
23
+ exit 1
20
24
  end
21
25
  end
22
26
 
23
27
  # Run Yarn prior to Sprockets assets precompilation, so dependencies are available for use.
24
- if Rake::Task.task_defined?("assets:precompile")
28
+ if Rake::Task.task_defined?("assets:precompile") && File.exist?(Rails.root.join("bin", "yarn"))
25
29
  Rake::Task["assets:precompile"].enhance [ "yarn:install" ]
26
30
  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.1.0
4
+ version: 6.1.3.1
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: 2020-12-09 00:00:00.000000000 Z
11
+ date: 2021-03-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: 6.1.0
19
+ version: 6.1.3.1
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.1.0
26
+ version: 6.1.3.1
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.1.0
33
+ version: 6.1.3.1
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.1.0
40
+ version: 6.1.3.1
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 6.1.0
89
+ version: 6.1.3.1
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - '='
95
95
  - !ruby/object:Gem::Version
96
- version: 6.1.0
96
+ version: 6.1.3.1
97
97
  description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
98
98
  email: david@loudthinking.com
99
99
  executables:
@@ -426,10 +426,10 @@ licenses:
426
426
  - MIT
427
427
  metadata:
428
428
  bug_tracker_uri: https://github.com/rails/rails/issues
429
- changelog_uri: https://github.com/rails/rails/blob/v6.1.0/railties/CHANGELOG.md
430
- documentation_uri: https://api.rubyonrails.org/v6.1.0/
429
+ changelog_uri: https://github.com/rails/rails/blob/v6.1.3.1/railties/CHANGELOG.md
430
+ documentation_uri: https://api.rubyonrails.org/v6.1.3.1/
431
431
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
432
- source_code_uri: https://github.com/rails/rails/tree/v6.1.0/railties
432
+ source_code_uri: https://github.com/rails/rails/tree/v6.1.3.1/railties
433
433
  post_install_message:
434
434
  rdoc_options:
435
435
  - "--exclude"
@@ -447,7 +447,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
447
447
  - !ruby/object:Gem::Version
448
448
  version: '0'
449
449
  requirements: []
450
- rubygems_version: 3.1.4
450
+ rubygems_version: 3.1.2
451
451
  signing_key:
452
452
  specification_version: 4
453
453
  summary: Tools for creating, working with, and running Rails applications.