activerecord 7.1.0.rc1 → 7.1.0.rc2

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: 740af6b88b6b54646450a59ad5dfa1b03ca0848f6a0e35d144c0501450c95813
4
- data.tar.gz: 116d5b18e58370804b0888cd01443af9c0d3d760f9ef8c6f0374572e592c1396
3
+ metadata.gz: 105b6eb9b1f55cf060da5abef79eff897bc6cc4ffae4213d00bb60919716de1d
4
+ data.tar.gz: b2001af69a5d854f66b1f3fd5fc3b2b96161e3185c1b0d11bbcfa606a0a8e3cf
5
5
  SHA512:
6
- metadata.gz: 4f6fd78b9fcd2d861501a1fb76e1c0575da14b158de781ef466c0568b1b3842efcf8213128a95e71cb8414e1ea5bc617850eb19cb30a05e45f5239633fa5023e
7
- data.tar.gz: ed6ccf8f8470fba640ea0a18ccf2c2e5c62cabcd0a21cd9635acd2a9f1db63b22dd4fbd13d2474a020182f703ed3b0e9a11d34389654ae2fb6b7da23deab25f2
6
+ metadata.gz: a65041e41aa694c421cb83cc41969088ec8c08f5d839fe87b7d9b43c91de2b72d3adb7419858e88fe711654d98b06bf9dad4d8bd6375f4370ff5e40e92782ffb
7
+ data.tar.gz: 5b821a9ab05cd006337411118066eaf3e46219d8969a414406919a9725927b95e51d70f79d2723e165db58e93417354a697420c531cc53d435b8dd8405d502b1
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ ## Rails 7.1.0.rc2 (October 01, 2023) ##
2
+
3
+ * Remove -shm and -wal SQLite files when `rails db:drop` is run.
4
+
5
+ *Niklas Häusele*
6
+
7
+ * Revert the change to raise an `ArgumentError` when `#accepts_nested_attributes_for` is declared more than once for
8
+ an association in the same class.
9
+
10
+ The reverted behavior broke the case where the `#accepts_nested_attributes_for` was defined in a concern and
11
+ where overridden in the class that included the concern.
12
+
13
+ *Rafael Mendonça França*
14
+
15
+
1
16
  ## Rails 7.1.0.rc1 (September 27, 2023) ##
2
17
 
3
18
  * Better naming for unique constraints support.
@@ -1505,7 +1505,7 @@ module ActiveRecord
1505
1505
  # [+:query_constraints+]
1506
1506
  # Serves as a composite foreign key. Defines the list of columns to be used to query the associated object.
1507
1507
  # This is an optional option. By default Rails will attempt to derive the value automatically.
1508
- # When the value is set the Array size must match associated model's primary key or `query_constraints` size.
1508
+ # When the value is set the Array size must match associated model's primary key or +query_constraints+ size.
1509
1509
  #
1510
1510
  # Option examples:
1511
1511
  # has_many :comments, -> { order("posted_on") }
@@ -1689,7 +1689,7 @@ module ActiveRecord
1689
1689
  # [+:query_constraints+]
1690
1690
  # Serves as a composite foreign key. Defines the list of columns to be used to query the associated object.
1691
1691
  # This is an optional option. By default Rails will attempt to derive the value automatically.
1692
- # When the value is set the Array size must match associated model's primary key or `query_constraints` size.
1692
+ # When the value is set the Array size must match associated model's primary key or +query_constraints+ size.
1693
1693
  #
1694
1694
  # Option examples:
1695
1695
  # has_one :credit_card, dependent: :destroy # destroys the associated credit card
@@ -1866,7 +1866,7 @@ module ActiveRecord
1866
1866
  # [+:query_constraints+]
1867
1867
  # Serves as a composite foreign key. Defines the list of columns to be used to query the associated object.
1868
1868
  # This is an optional option. By default Rails will attempt to derive the value automatically.
1869
- # When the value is set the Array size must match associated model's primary key or `query_constraints` size.
1869
+ # When the value is set the Array size must match associated model's primary key or +query_constraints+ size.
1870
1870
  #
1871
1871
  # Option examples:
1872
1872
  # belongs_to :firm, foreign_key: "client_of"
@@ -66,7 +66,7 @@ module ActiveRecord
66
66
  cache(connection).indexes(connection, table_name)
67
67
  end
68
68
 
69
- def database_version(connection)
69
+ def database_version(connection) # :nodoc:
70
70
  cache(connection).database_version(connection)
71
71
  end
72
72
 
@@ -196,7 +196,7 @@ module ActiveRecord
196
196
  @schema_reflection.indexes(@connection, table_name)
197
197
  end
198
198
 
199
- def database_version
199
+ def database_version # :nodoc:
200
200
  @schema_reflection.database_version(@connection)
201
201
  end
202
202
 
@@ -10,7 +10,7 @@ module ActiveRecord
10
10
  MAJOR = 7
11
11
  MINOR = 1
12
12
  TINY = 0
13
- PRE = "rc1"
13
+ PRE = "rc2"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -355,17 +355,12 @@ module ActiveRecord
355
355
  options.update(attr_names.extract_options!)
356
356
  options.assert_valid_keys(:allow_destroy, :reject_if, :limit, :update_only)
357
357
  options[:reject_if] = REJECT_ALL_BLANK_PROC if options[:reject_if] == :all_blank
358
- options[:class] = self
359
358
 
360
359
  attr_names.each do |association_name|
361
360
  if reflection = _reflect_on_association(association_name)
362
361
  reflection.autosave = true
363
362
  define_autosave_validation_callbacks(reflection)
364
363
 
365
- if nested_attributes_options.dig(association_name.to_sym, :class) == self
366
- raise ArgumentError, "Already declared #{association_name} as an accepts_nested_attributes association for this class."
367
- end
368
-
369
364
  nested_attributes_options = self.nested_attributes_options.dup
370
365
  nested_attributes_options[association_name.to_sym] = options
371
366
  self.nested_attributes_options = nested_attributes_options
@@ -1272,7 +1272,7 @@ module ActiveRecord
1272
1272
  def _raise_record_not_destroyed
1273
1273
  @_association_destroy_exception ||= nil
1274
1274
  key = self.class.primary_key
1275
- raise @_association_destroy_exception || RecordNotDestroyed.new("Failed to destroy #{self.class} with #{key}=#{send(key)}", self)
1275
+ raise @_association_destroy_exception || RecordNotDestroyed.new("Failed to destroy #{self.class} with #{key}=#{id}", self)
1276
1276
  ensure
1277
1277
  @_association_destroy_exception = nil
1278
1278
  end
@@ -51,7 +51,7 @@ module ActiveRecord
51
51
  _load_from_sql(_query_by_sql(sql, binds, preparable: preparable), &block)
52
52
  end
53
53
 
54
- # Same as <tt>#find_by_sql</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
54
+ # Same as <tt>#find_by_sql</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
55
55
  def async_find_by_sql(sql, binds = [], preparable: nil, &block)
56
56
  _query_by_sql(sql, binds, preparable: preparable, async: true).then do |result|
57
57
  _load_from_sql(result, &block)
@@ -102,7 +102,7 @@ module ActiveRecord
102
102
  connection.select_value(sanitize_sql(sql), "#{name} Count").to_i
103
103
  end
104
104
 
105
- # Same as <tt>#count_by_sql</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
105
+ # Same as <tt>#count_by_sql</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
106
106
  def async_count_by_sql(sql)
107
107
  connection.select_value(sanitize_sql(sql), "#{name} Count", async: true).then(&:to_i)
108
108
  end
@@ -67,7 +67,7 @@ module ActiveRecord
67
67
  unless ActiveSupport::Logger.logger_outputs_to?(Rails.logger, STDERR, STDOUT)
68
68
  console = ActiveSupport::Logger.new(STDERR)
69
69
  console.level = Rails.logger.level
70
- Rails.logger = ActiveSupport::BroadcastLogger.new(Rails.logger, console)
70
+ Rails.logger.broadcast_to(console)
71
71
  end
72
72
  ActiveRecord.verbose_query_logs = false
73
73
  end
@@ -93,7 +93,7 @@ module ActiveRecord
93
93
  end
94
94
  end
95
95
 
96
- # Same as <tt>#count</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
96
+ # Same as <tt>#count</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
97
97
  def async_count(column_name = nil)
98
98
  async.count(column_name)
99
99
  end
@@ -106,7 +106,7 @@ module ActiveRecord
106
106
  calculate(:average, column_name)
107
107
  end
108
108
 
109
- # Same as <tt>#average</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
109
+ # Same as <tt>#average</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
110
110
  def async_average(column_name)
111
111
  async.average(column_name)
112
112
  end
@@ -120,7 +120,7 @@ module ActiveRecord
120
120
  calculate(:minimum, column_name)
121
121
  end
122
122
 
123
- # Same as <tt>#minimum</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
123
+ # Same as <tt>#minimum</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
124
124
  def async_minimum(column_name)
125
125
  async.minimum(column_name)
126
126
  end
@@ -134,7 +134,7 @@ module ActiveRecord
134
134
  calculate(:maximum, column_name)
135
135
  end
136
136
 
137
- # Same as <tt>#maximum</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
137
+ # Same as <tt>#maximum</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
138
138
  def async_maximum(column_name)
139
139
  async.maximum(column_name)
140
140
  end
@@ -152,7 +152,7 @@ module ActiveRecord
152
152
  end
153
153
  end
154
154
 
155
- # Same as <tt>#sum</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
155
+ # Same as <tt>#sum</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
156
156
  def async_sum(identity_or_column = nil)
157
157
  async.sum(identity_or_column)
158
158
  end
@@ -287,7 +287,7 @@ module ActiveRecord
287
287
  end
288
288
  end
289
289
 
290
- # Same as <tt>#pluck</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
290
+ # Same as <tt>#pluck</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
291
291
  def async_pluck(*column_names)
292
292
  async.pluck(*column_names)
293
293
  end
@@ -315,7 +315,7 @@ module ActiveRecord
315
315
  limit(1).pluck(*column_names).then(&:first)
316
316
  end
317
317
 
318
- # Same as <tt>#pick</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
318
+ # Same as <tt>#pick</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
319
319
  def async_pick(*column_names)
320
320
  async.pick(*column_names)
321
321
  end
@@ -358,7 +358,7 @@ module ActiveRecord
358
358
  result.then { |result| type_cast_pluck_values(result, columns) }
359
359
  end
360
360
 
361
- # Same as <tt>#ids</tt> but perform the query asynchronously and returns an ActiveRecord::Promise
361
+ # Same as <tt>#ids</tt> but perform the query asynchronously and returns an ActiveRecord::Promise.
362
362
  def async_ids
363
363
  async.ids
364
364
  end
@@ -23,6 +23,7 @@ module ActiveRecord
23
23
  db_path = db_config.database
24
24
  file = File.absolute_path?(db_path) ? db_path : File.join(root, db_path)
25
25
  FileUtils.rm(file)
26
+ FileUtils.rm_f(["#{file}-shm", "#{file}-wal"])
26
27
  rescue Errno::ENOENT => error
27
28
  raise NoDatabaseError.new(error.message)
28
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.0.rc1
4
+ version: 7.1.0.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-27 00:00:00.000000000 Z
11
+ date: 2023-10-01 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: 7.1.0.rc1
19
+ version: 7.1.0.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: 7.1.0.rc1
26
+ version: 7.1.0.rc2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 7.1.0.rc1
33
+ version: 7.1.0.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: 7.1.0.rc1
40
+ version: 7.1.0.rc2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: timeout
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -469,10 +469,10 @@ licenses:
469
469
  - MIT
470
470
  metadata:
471
471
  bug_tracker_uri: https://github.com/rails/rails/issues
472
- changelog_uri: https://github.com/rails/rails/blob/v7.1.0.rc1/activerecord/CHANGELOG.md
473
- documentation_uri: https://api.rubyonrails.org/v7.1.0.rc1/
472
+ changelog_uri: https://github.com/rails/rails/blob/v7.1.0.rc2/activerecord/CHANGELOG.md
473
+ documentation_uri: https://api.rubyonrails.org/v7.1.0.rc2/
474
474
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
475
- source_code_uri: https://github.com/rails/rails/tree/v7.1.0.rc1/activerecord
475
+ source_code_uri: https://github.com/rails/rails/tree/v7.1.0.rc2/activerecord
476
476
  rubygems_mfa_required: 'true'
477
477
  post_install_message:
478
478
  rdoc_options: