railties 6.1.0 → 6.1.3.1

Sign up to get free protection for your applications and to get access to all the features.
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.