railties 6.0.0.beta1 → 6.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of railties might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 66f8f350ddf521a8fb2a51bddda33e6afc57c6e239ea0fe8bd23bea476d12c8f
4
- data.tar.gz: e647293ffdbc4bbc4beddbde230d567e90de69183b5498729717f1bfda0b2890
3
+ metadata.gz: a90a9035f3be11b2b2a4c4fa8a020b201755e135aaf581420eee30d622f9f6d7
4
+ data.tar.gz: bcbfff6e2dedab7895b46c3befe8209ff0768d67dcc2047636f79883765cef5e
5
5
  SHA512:
6
- metadata.gz: f62d369e32f4e40ef7d5f08af230bc70967627c5db1f68c4ab295c7942ac152f33af09bb1012a2d239fb260f411328d3cf78daf70e6d08329079b031ed2f453c
7
- data.tar.gz: 786ff80d0075f5ff9adefe82ce44c249aa436c8a62f663c2c10d62bef204b84ed9b1a743b7866314756eb3ea86172f3468822736d01333d0cd04cd224fc1a46d
6
+ metadata.gz: e2fadeee30a37cd2b47d48fd3cce775c1351195446850888075d2b0540b9a2120fb939e24a5fc5121fe4d0a9188a7daf3c4383af9b9f111f3065a21a83b37544
7
+ data.tar.gz: 7d5aec204ddc86f793f5dffb7b91b3e95c39e078cf5dd477e8ad0652550cad52be8f3ceada7e6507d612f9a5161a91756a59e2394cf4683f51d13365e2b178ab
@@ -1,3 +1,15 @@
1
+ ## Rails 6.0.0.beta2 (February 25, 2019) ##
2
+
3
+ * Fix non-symbol access to nested hashes returned from `Rails::Application.config_for`
4
+ being broken by allowing non-symbol access with a deprecation notice.
5
+
6
+ *Ufuk Kayserilioglu*
7
+
8
+ * Fix deeply nested namespace command printing.
9
+
10
+ *Gannon McGibbon*
11
+
12
+
1
13
  ## Rails 6.0.0.beta1 (January 18, 2019) ##
2
14
 
3
15
  * Remove deprecated `after_bundle` helper inside plugins templates.
@@ -70,7 +82,7 @@
70
82
 
71
83
  In other environments `Rails.application.config.hosts` is empty and no
72
84
  `Host` header checks will be done. If you want to guard against header
73
- attacks on production, you have to manually whitelist the allowed hosts
85
+ attacks on production, you have to manually permit the allowed hosts
74
86
  with:
75
87
 
76
88
  Rails.application.config.hosts << "product.com"
@@ -83,7 +95,7 @@
83
95
  # `beta1.product.com`.
84
96
  Rails.application.config.hosts << /.*\.product\.com/
85
97
 
86
- A special case is supported that allows you to whitelist all sub-domains:
98
+ A special case is supported that allows you to permit all sub-domains:
87
99
 
88
100
  # Allow requests from subdomains like `www.product.com` and
89
101
  # `beta1.product.com`.
@@ -54,6 +54,6 @@ module Minitest
54
54
  end
55
55
  end
56
56
 
57
- # Backwardscompatibility with Rails 5.0 generated plugin test scripts
57
+ # Backwards compatibility with Rails 5.0 generated plugin test scripts
58
58
  mattr_reader :run_via, default: {}
59
59
  end
@@ -13,6 +13,7 @@ require "active_support/core_ext/object/blank"
13
13
 
14
14
  require "rails/application"
15
15
  require "rails/version"
16
+ require "rails/autoloaders"
16
17
 
17
18
  require "active_support/railtie"
18
19
  require "action_dispatch/railtie"
@@ -110,5 +111,9 @@ module Rails
110
111
  def public_path
111
112
  application && Pathname.new(application.paths["public"].first)
112
113
  end
114
+
115
+ def autoloaders
116
+ Autoloaders
117
+ end
113
118
  end
114
119
  end
@@ -23,7 +23,7 @@ control:
23
23
  # too that you may or may not want (like yarn)
24
24
 
25
25
  If you already have Rails binstubs in source control, you might be
26
- inadverently overwriting them during deployment by using bundle install
26
+ inadvertently overwriting them during deployment by using bundle install
27
27
  with the --binstubs option.
28
28
 
29
29
  If your application was created prior to Rails 4, here's how to upgrade:
@@ -7,6 +7,7 @@ require "active_support/key_generator"
7
7
  require "active_support/message_verifier"
8
8
  require "active_support/encrypted_configuration"
9
9
  require "active_support/deprecation"
10
+ require "active_support/hash_with_indifferent_access"
10
11
  require "rails/engine"
11
12
  require "rails/secrets"
12
13
 
@@ -230,8 +231,8 @@ module Rails
230
231
  config = YAML.load(ERB.new(yaml.read).result) || {}
231
232
  config = (config["shared"] || {}).merge(config[env] || {})
232
233
 
233
- ActiveSupport::OrderedOptions.new.tap do |config_as_ordered_options|
234
- config_as_ordered_options.update(config.deep_symbolize_keys)
234
+ ActiveSupport::OrderedOptions.new.tap do |options|
235
+ options.update(NonSymbolAccessDeprecatedHash.new(config))
235
236
  end
236
237
  else
237
238
  raise "Could not load configuration. No such file - #{yaml}"
@@ -590,5 +591,52 @@ module Rails
590
591
  def build_middleware
591
592
  config.app_middleware + super
592
593
  end
594
+
595
+ class NonSymbolAccessDeprecatedHash < HashWithIndifferentAccess # :nodoc:
596
+ def initialize(value = nil)
597
+ if value.is_a?(Hash)
598
+ value.each_pair { |k, v| self[k] = v }
599
+ else
600
+ super
601
+ end
602
+ end
603
+
604
+ def []=(key, value)
605
+ regular_writer(key.to_sym, convert_value(value, for: :assignment))
606
+ end
607
+
608
+ private
609
+
610
+ def convert_key(key)
611
+ unless key.kind_of?(Symbol)
612
+ ActiveSupport::Deprecation.warn(<<~MESSAGE.squish)
613
+ Accessing hashes returned from config_for by non-symbol keys
614
+ is deprecated and will be removed in Rails 6.1.
615
+ Use symbols for access instead.
616
+ MESSAGE
617
+
618
+ key = key.to_sym
619
+ end
620
+
621
+ key
622
+ end
623
+
624
+ def convert_value(value, options = {}) # :doc:
625
+ if value.is_a? Hash
626
+ if options[:for] == :to_hash
627
+ value.to_hash
628
+ else
629
+ self.class.new(value)
630
+ end
631
+ elsif value.is_a?(Array)
632
+ if options[:for] != :assignment || value.frozen?
633
+ value = value.dup
634
+ end
635
+ value.map! { |e| convert_value(e, options) }
636
+ else
637
+ value
638
+ end
639
+ end
640
+ end
593
641
  end
594
642
  end
@@ -20,7 +20,7 @@ module Rails
20
20
  :read_encrypted_secrets, :log_level, :content_security_policy_report_only,
21
21
  :content_security_policy_nonce_generator, :require_master_key, :credentials
22
22
 
23
- attr_reader :encoding, :api_only, :loaded_config_version
23
+ attr_reader :encoding, :api_only, :loaded_config_version, :autoloader
24
24
 
25
25
  def initialize(*)
26
26
  super
@@ -30,7 +30,7 @@ module Rails
30
30
  @filter_parameters = []
31
31
  @filter_redirect = []
32
32
  @helpers_paths = []
33
- @hosts = Array(([IPAddr.new("0.0.0.0/0"), IPAddr.new("::/0"), "localhost"] if Rails.env.development?))
33
+ @hosts = Array(([IPAddr.new("0.0.0.0/0"), IPAddr.new("::/0"), ".localhost"] if Rails.env.development?))
34
34
  @public_file_server = ActiveSupport::OrderedOptions.new
35
35
  @public_file_server.enabled = true
36
36
  @public_file_server.index_name = "index"
@@ -64,6 +64,7 @@ module Rails
64
64
  @credentials = ActiveSupport::OrderedOptions.new
65
65
  @credentials.content_path = default_credentials_content_path
66
66
  @credentials.key_path = default_credentials_key_path
67
+ @autoloader = :classic
67
68
  end
68
69
 
69
70
  def load_defaults(target_version)
@@ -117,6 +118,8 @@ module Rails
117
118
  when "6.0"
118
119
  load_defaults "5.2"
119
120
 
121
+ self.autoloader = :zeitwerk if RUBY_ENGINE == "ruby"
122
+
120
123
  if respond_to?(:action_view)
121
124
  action_view.default_enforce_utf8 = false
122
125
  end
@@ -267,6 +270,18 @@ module Rails
267
270
  end
268
271
  end
269
272
 
273
+ def autoloader=(autoloader)
274
+ case autoloader
275
+ when :classic
276
+ @autoloader = autoloader
277
+ when :zeitwerk
278
+ require "zeitwerk"
279
+ @autoloader = autoloader
280
+ else
281
+ raise ArgumentError, "config.autoloader may be :classic or :zeitwerk, got #{autoloader.inspect} instead"
282
+ end
283
+ end
284
+
270
285
  class Custom #:nodoc:
271
286
  def initialize
272
287
  @configurations = Hash.new
@@ -21,6 +21,13 @@ module Rails
21
21
  end
22
22
  end
23
23
 
24
+ initializer :let_zeitwerk_take_over do
25
+ if config.autoloader == :zeitwerk
26
+ require "active_support/dependencies/zeitwerk_integration"
27
+ ActiveSupport::Dependencies::ZeitwerkIntegration.take_over
28
+ end
29
+ end
30
+
24
31
  initializer :add_builtin_route do |app|
25
32
  if Rails.env.development?
26
33
  app.routes.prepend do
@@ -66,6 +73,10 @@ module Rails
66
73
  initializer :eager_load! do
67
74
  if config.eager_load
68
75
  ActiveSupport.run_load_hooks(:before_eager_load, self)
76
+ # Checks defined?(Zeitwerk) instead of zeitwerk_enabled? because we
77
+ # want to eager load any dependency managed by Zeitwerk regardless of
78
+ # the autoloading mode of the application.
79
+ Zeitwerk::Loader.eager_load_all if defined?(Zeitwerk)
69
80
  config.eager_load_namespaces.each(&:eager_load!)
70
81
  end
71
82
  end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rails
4
+ module Autoloaders # :nodoc:
5
+ class << self
6
+ include Enumerable
7
+
8
+ def main
9
+ if zeitwerk_enabled?
10
+ @main ||= Zeitwerk::Loader.new.tap { |loader| loader.tag = "rails.main" }
11
+ end
12
+ end
13
+
14
+ def once
15
+ if zeitwerk_enabled?
16
+ @once ||= Zeitwerk::Loader.new.tap { |loader| loader.tag = "rails.once" }
17
+ end
18
+ end
19
+
20
+ def each
21
+ if zeitwerk_enabled?
22
+ yield main
23
+ yield once
24
+ end
25
+ end
26
+
27
+ def logger=(logger)
28
+ each { |loader| loader.logger = logger }
29
+ end
30
+
31
+ def zeitwerk_enabled?
32
+ Rails.configuration.autoloader == :zeitwerk
33
+ end
34
+ end
35
+ end
36
+ end
@@ -11,10 +11,20 @@ module Rails
11
11
  end
12
12
 
13
13
  def require_application_and_environment!
14
+ require_application!
15
+ require_environment!
16
+ end
17
+
18
+ def require_application!
14
19
  require ENGINE_PATH if defined?(ENGINE_PATH)
15
20
 
16
21
  if defined?(APP_PATH)
17
22
  require APP_PATH
23
+ end
24
+ end
25
+
26
+ def require_environment!
27
+ if defined?(APP_PATH)
18
28
  Rails.application.require_environment!
19
29
  end
20
30
  end
@@ -115,7 +115,7 @@ module Rails
115
115
  # For a Rails::Command::TestCommand placed in <tt>rails/command/test_command.rb</tt>
116
116
  # would return <tt>rails/test</tt>.
117
117
  def default_command_root
118
- path = File.expand_path(File.join("../commands", command_root_namespace), __dir__)
118
+ path = File.expand_path(relative_command_path, __dir__)
119
119
  path if File.exist?(path)
120
120
  end
121
121
 
@@ -135,12 +135,20 @@ module Rails
135
135
  end
136
136
 
137
137
  def command_root_namespace
138
- (namespace.split(":") - %w( rails )).first
138
+ (namespace.split(":") - %w(rails)).join(":")
139
+ end
140
+
141
+ def relative_command_path
142
+ File.join("../commands", *command_root_namespace.split(":"))
139
143
  end
140
144
 
141
145
  def namespaced_commands
142
146
  commands.keys.map do |key|
143
- key == command_root_namespace ? key : "#{command_root_namespace}:#{key}"
147
+ if command_root_namespace.match?(/(\A|\:)#{key}\z/)
148
+ command_root_namespace
149
+ else
150
+ "#{command_root_namespace}:#{key}"
151
+ end
144
152
  end
145
153
  end
146
154
  end
@@ -71,8 +71,9 @@ module Rails
71
71
  paths = []
72
72
  namespaces.each do |namespace|
73
73
  pieces = namespace.split(":")
74
- paths << pieces.dup.push(pieces.last).join("/")
75
- paths << pieces.join("/")
74
+ path = pieces.join("/")
75
+ paths << "#{path}/#{pieces.last}"
76
+ paths << path
76
77
  end
77
78
  paths.uniq!
78
79
  paths
@@ -54,5 +54,5 @@ doesn't exist.
54
54
  The encryption key can also be put in `ENV["RAILS_MASTER_KEY"]`, which takes
55
55
  precedence over the file encryption key.
56
56
 
57
- In addition to that, the default credentials lookup paths can be overriden through
57
+ In addition to that, the default credentials lookup paths can be overridden through
58
58
  `config.credentials.content_path` and `config.credentials.key_path`.
@@ -20,7 +20,7 @@ module Rails
20
20
  end
21
21
 
22
22
  def edit
23
- require_application_and_environment!
23
+ require_application!
24
24
 
25
25
  ensure_editor_available(command: "bin/rails credentials:edit") || (return)
26
26
 
@@ -37,7 +37,7 @@ module Rails
37
37
  end
38
38
 
39
39
  def show
40
- require_application_and_environment!
40
+ require_application!
41
41
 
42
42
  say credentials.read.presence || missing_credentials_message
43
43
  end
@@ -472,11 +472,10 @@ module Rails
472
472
  # Eager load the application by loading all ruby
473
473
  # files inside eager_load paths.
474
474
  def eager_load!
475
- config.eager_load_paths.each do |load_path|
476
- matcher = /\A#{Regexp.escape(load_path.to_s)}\/(.*)\.rb\Z/
477
- Dir.glob("#{load_path}/**/*.rb").sort.each do |file|
478
- require_dependency file.sub(matcher, '\1')
479
- end
475
+ if Rails.autoloaders.zeitwerk_enabled?
476
+ eager_load_with_zeitwerk!
477
+ else
478
+ eager_load_with_dependencies!
480
479
  end
481
480
  end
482
481
 
@@ -652,6 +651,22 @@ module Rails
652
651
 
653
652
  private
654
653
 
654
+ def eager_load_with_zeitwerk!
655
+ (config.eager_load_paths - Zeitwerk::Loader.all_dirs).each do |path|
656
+ Dir.glob("#{path}/**/*.rb").sort.each { |file| require file }
657
+ end
658
+ end
659
+
660
+ def eager_load_with_dependencies!
661
+ config.eager_load_paths.each do |load_path|
662
+ # Starts after load_path plus a slash, ends before ".rb".
663
+ relname_range = (load_path.to_s.length + 1)...-3
664
+ Dir.glob("#{load_path}/**/*.rb").sort.each do |file|
665
+ require_dependency file[relname_range]
666
+ end
667
+ end
668
+ end
669
+
655
670
  def load_config_initializer(initializer) # :doc:
656
671
  ActiveSupport::Notifications.instrument("load_config_initializer.railties", initializer: initializer) do
657
672
  load(initializer)
@@ -10,7 +10,7 @@ module Rails
10
10
  MAJOR = 6
11
11
  MINOR = 0
12
12
  TINY = 0
13
- PRE = "beta1"
13
+ PRE = "beta2"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -222,6 +222,7 @@ module Rails
222
222
  log :generate, what
223
223
 
224
224
  options = args.extract_options!
225
+ options[:without_rails_env] = true
225
226
  argument = args.flat_map(&:to_s).join(" ")
226
227
 
227
228
  execute_command :rails, "generate #{what} #{argument}", options
@@ -284,14 +285,15 @@ module Rails
284
285
  # based on the executor parameter provided.
285
286
  def execute_command(executor, command, options = {}) # :doc:
286
287
  log executor, command
287
- env = options[:env] || ENV["RAILS_ENV"] || "development"
288
+ env = options[:env] || ENV["RAILS_ENV"] || "development"
289
+ rails_env = " RAILS_ENV=#{env}" unless options[:without_rails_env]
288
290
  sudo = options[:sudo] && !Gem.win_platform? ? "sudo " : ""
289
291
  config = { verbose: false }
290
292
 
291
293
  config[:capture] = options[:capture] if options[:capture]
292
294
  config[:abort_on_failure] = options[:abort_on_failure] if options[:abort_on_failure]
293
295
 
294
- in_root { run("#{sudo}#{extify(executor)} #{command} RAILS_ENV=#{env}", config) }
296
+ in_root { run("#{sudo}#{extify(executor)} #{command}#{rails_env}", config) }
295
297
  end
296
298
 
297
299
  # Add an extension to the given name based on the platform.
@@ -128,7 +128,7 @@ module Rails
128
128
  def gemfile_entries # :doc:
129
129
  [rails_gemfile_entry,
130
130
  database_gemfile_entry,
131
- webserver_gemfile_entry,
131
+ web_server_gemfile_entry,
132
132
  assets_gemfile_entry,
133
133
  webpacker_gemfile_entry,
134
134
  javascript_gemfile_entry,
@@ -189,7 +189,7 @@ module Rails
189
189
  "Use #{options[:database]} as the database for Active Record"
190
190
  end
191
191
 
192
- def webserver_gemfile_entry # :doc:
192
+ def web_server_gemfile_entry # :doc:
193
193
  return [] if options[:skip_puma]
194
194
  comment = "Use Puma as the app server"
195
195
  GemfileEntry.new("puma", "~> 3.11", comment)
@@ -15,6 +15,7 @@ module Rails
15
15
  case database
16
16
  when "mysql" then ["mysql2", [">= 0.4.4"]]
17
17
  when "postgresql" then ["pg", [">= 0.18", "< 2.0"]]
18
+ when "sqlite3" then ["sqlite3", ["~> 1.3", ">= 1.3.6"]]
18
19
  when "oracle" then ["activerecord-oracle_enhanced-adapter", nil]
19
20
  when "frontbase" then ["ruby-frontbase", nil]
20
21
  when "sqlserver" then ["activerecord-sqlserver-adapter", nil]
@@ -63,8 +63,7 @@ module Rails
63
63
  numbered_destination = File.join(dir, ["%migration_number%", base].join("_"))
64
64
 
65
65
  create_migration numbered_destination, nil, config do
66
- match = ERB.version.match(/\Aerb\.rb \[(?<version>[^ ]+) /)
67
- if match && match[:version] >= "2.2.0" # Ruby 2.6+
66
+ if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
68
67
  ERB.new(::File.binread(source), trim_mode: "-", eoutvar: "@output_buffer").result(context)
69
68
  else
70
69
  ERB.new(::File.binread(source), nil, "-", "@output_buffer").result(context)
@@ -28,7 +28,7 @@ ruby <%= "'#{RUBY_VERSION}'" -%>
28
28
 
29
29
  <% if depend_on_bootsnap? -%>
30
30
  # Reduces boot times through caching; required in config/boot.rb
31
- gem 'bootsnap', '>= 1.1.0', require: false
31
+ gem 'bootsnap', '>= 1.4.1', require: false
32
32
 
33
33
  <%- end -%>
34
34
  <%- if options.api? -%>
@@ -98,4 +98,25 @@ Rails.application.configure do
98
98
  # Do not dump schema after migrations.
99
99
  config.active_record.dump_schema_after_migration = false
100
100
  <%- end -%>
101
+
102
+ # Inserts middleware to perform automatic connection switching.
103
+ # The `database_selector` hash is used to pass options to the DatabaseSelector
104
+ # middleware. The `delay` is used to determine how long to wait after a write
105
+ # to send a subsequent read to the primary.
106
+ #
107
+ # The `database_resolver` class is used by the middleware to determine which
108
+ # database is appropriate to use based on the time delay.
109
+ #
110
+ # The `database_resolver_context` class is used by the middleware to set
111
+ # timestamps for the last write to the primary. The resolver uses the context
112
+ # class timestamps to determine how long to wait before reading from the
113
+ # replica.
114
+ #
115
+ # By default Rails will store a last write timestamp in the session. The
116
+ # DatabaseSelector middleware is designed as such you can define your own
117
+ # strategy for connection switching and pass that into the middleware through
118
+ # these configuration options.
119
+ # config.active_record.database_selector = { delay: 2.seconds }
120
+ # config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver
121
+ # config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session
101
122
  end
@@ -48,7 +48,4 @@ Rails.application.configure do
48
48
 
49
49
  # Raises error for missing translations.
50
50
  # config.action_view.raise_on_missing_translations = true
51
-
52
- # Prevent expensive template finalization at end of test suite runs.
53
- config.action_view.finalize_compiled_template_methods = false
54
51
  end
@@ -17,7 +17,7 @@ port ENV.fetch("PORT") { 3000 }
17
17
  environment ENV.fetch("RAILS_ENV") { "development" }
18
18
 
19
19
  # Specifies the number of `workers` to boot in clustered mode.
20
- # Workers are forked webserver processes. If using threads and workers together
20
+ # Workers are forked web server processes. If using threads and workers together
21
21
  # the concurrency of the application would be max `threads` * `workers`.
22
22
  # Workers do not work on JRuby or Windows (both of which do not support
23
23
  # processes).
@@ -9,6 +9,7 @@ STATS_DIRECTORIES = [
9
9
  %w(Jobs app/jobs),
10
10
  %w(Models app/models),
11
11
  %w(Mailers app/mailers),
12
+ %w(Mailboxes app/mailboxes),
12
13
  %w(Channels app/channels),
13
14
  %w(JavaScripts app/assets/javascripts),
14
15
  %w(JavaScript app/javascript),
@@ -18,6 +19,8 @@ STATS_DIRECTORIES = [
18
19
  %w(Helper\ tests test/helpers),
19
20
  %w(Model\ tests test/models),
20
21
  %w(Mailer\ tests test/mailers),
22
+ %w(Mailbox\ tests test/mailboxes),
23
+ %w(Channel\ tests test/channels),
21
24
  %w(Job\ tests test/jobs),
22
25
  %w(Integration\ tests test/integration),
23
26
  %w(System\ tests test/system),
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.0.beta1
4
+ version: 6.0.0.beta2
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-01-18 00:00:00.000000000 Z
11
+ date: 2019-02-25 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.0.beta1
19
+ version: 6.0.0.beta2
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.0.beta1
26
+ version: 6.0.0.beta2
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.0.beta1
33
+ version: 6.0.0.beta2
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.0.beta1
40
+ version: 6.0.0.beta2
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.0.beta1
95
+ version: 6.0.0.beta2
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.0.beta1
102
+ version: 6.0.0.beta2
103
103
  description: 'Rails internals: application bootup, plugins, generators, and rake tasks.'
104
104
  email: david@loudthinking.com
105
105
  executables:
@@ -126,6 +126,7 @@ files:
126
126
  - lib/rails/application/finisher.rb
127
127
  - lib/rails/application/routes_reloader.rb
128
128
  - lib/rails/application_controller.rb
129
+ - lib/rails/autoloaders.rb
129
130
  - lib/rails/backtrace_cleaner.rb
130
131
  - lib/rails/cli.rb
131
132
  - lib/rails/code_statistics.rb
@@ -428,8 +429,8 @@ homepage: http://rubyonrails.org
428
429
  licenses:
429
430
  - MIT
430
431
  metadata:
431
- source_code_uri: https://github.com/rails/rails/tree/v6.0.0.beta1/railties
432
- changelog_uri: https://github.com/rails/rails/blob/v6.0.0.beta1/railties/CHANGELOG.md
432
+ source_code_uri: https://github.com/rails/rails/tree/v6.0.0.beta2/railties
433
+ changelog_uri: https://github.com/rails/rails/blob/v6.0.0.beta2/railties/CHANGELOG.md
433
434
  post_install_message:
434
435
  rdoc_options:
435
436
  - "--exclude"