activemodel 7.2.1 → 7.2.2

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: 3d6d86af15fa7149d24dbe05b187bc8eda73ced0b0017f36ff3732d088430619
4
- data.tar.gz: 5169b5634a262e973a0b8a8120c3f5f5118fe45da440e99a8dd9a7b731df454f
3
+ metadata.gz: '083ab781edd077dd1864bceb8ad069bde3954eaa020c84dddf2cd6c74490ab6a'
4
+ data.tar.gz: dd7682a299773c0d0e07b43d662ec98cefca8922eeca8ba6fe80856296c32f03
5
5
  SHA512:
6
- metadata.gz: e71b27fb04a2a7288299197ebf8ab3d141090a9e20a6a4c14630adbe54bb87a2b750a7eda5d5efdb9be015193a601732b2d42c7a71b5499266e886eeb5a2b61e
7
- data.tar.gz: e9739dc64d7509e2055a95715dd19f123f2aff7c3436b470eeb2c2cfc305121cd37d0befc08589285a14ada82383d4a2f411e272941d548719a8a51c22441c66
6
+ metadata.gz: cb3a9de619551c4a7685880566cbd1a8c3f230d8669980037d54611912e41772679f894625e6947ab5abeed2e974bc07cc03addbb99907ebed1927ee08d8cee2
7
+ data.tar.gz: 8c723612cdf1701f67977db5f8b2634c3e5e836a1c9bb6542bfba8b459b3ccb4762db96e9854be993a947f4b946a89a4f4f2e82d493f20672ed9494db0d980c6
data/CHANGELOG.md CHANGED
@@ -1,3 +1,35 @@
1
+ ## Rails 7.2.2 (October 30, 2024) ##
2
+
3
+ * Fix regression in `alias_attribute` to work with user defined methods.
4
+
5
+ `alias_attribute` would wrongly assume the attribute accessor was generated by Active Model.
6
+
7
+ ```ruby
8
+ class Person
9
+ include ActiveModel::AttributeMethods
10
+
11
+ define_attribute_methods :name
12
+ attr_accessor :name
13
+
14
+ alias_attribute :full_name, :name
15
+ end
16
+
17
+ person.full_name # => NoMethodError: undefined method `attribute' for an instance of Person
18
+ ```
19
+
20
+ *Jean Boussier*
21
+
22
+
23
+ ## Rails 7.2.1.2 (October 23, 2024) ##
24
+
25
+ * No changes.
26
+
27
+
28
+ ## Rails 7.2.1.1 (October 15, 2024) ##
29
+
30
+ * No changes.
31
+
32
+
1
33
  ## Rails 7.2.1 (August 22, 2024) ##
2
34
 
3
35
  * No changes.
@@ -215,7 +215,12 @@ module ActiveModel
215
215
  end
216
216
 
217
217
  def generate_alias_attribute_methods(code_generator, new_name, old_name)
218
- define_attribute_method(old_name, _owner: code_generator, as: new_name)
218
+ ActiveSupport::CodeGenerator.batch(code_generator, __FILE__, __LINE__) do |owner|
219
+ attribute_method_patterns.each do |pattern|
220
+ alias_attribute_method_definition(code_generator, pattern, new_name, old_name)
221
+ end
222
+ attribute_method_patterns_cache.clear
223
+ end
219
224
  end
220
225
 
221
226
  def alias_attribute_method_definition(code_generator, pattern, new_name, old_name) # :nodoc:
@@ -228,7 +233,7 @@ module ActiveModel
228
233
  call_args = []
229
234
  call_args << parameters if parameters
230
235
 
231
- define_call(code_generator, method_name, target_name, mangled_name, parameters, call_args, namespace: :alias_attribute)
236
+ define_call(code_generator, method_name, target_name, mangled_name, parameters, call_args, namespace: :alias_attribute, as: method_name)
232
237
  end
233
238
 
234
239
  # Is +new_name+ an alias?
@@ -441,7 +446,7 @@ module ActiveModel
441
446
  mangled_name = name
442
447
 
443
448
  unless NAME_COMPILABLE_REGEXP.match?(name)
444
- mangled_name = "__temp__#{name.unpack1("h*")}"
449
+ mangled_name = :"__temp__#{name.unpack1("h*")}"
445
450
  end
446
451
 
447
452
  mangled_name
@@ -9,7 +9,7 @@ module ActiveModel
9
9
  module VERSION
10
10
  MAJOR = 7
11
11
  MINOR = 2
12
- TINY = 1
12
+ TINY = 2
13
13
  PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activemodel
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.1
4
+ version: 7.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-22 00:00:00.000000000 Z
11
+ date: 2024-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 7.2.1
19
+ version: 7.2.2
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.2.1
26
+ version: 7.2.2
27
27
  description: A toolkit for building modeling frameworks like Active Record. Rich support
28
28
  for attributes, callbacks, validations, serialization, internationalization, and
29
29
  testing.
@@ -112,12 +112,12 @@ licenses:
112
112
  - MIT
113
113
  metadata:
114
114
  bug_tracker_uri: https://github.com/rails/rails/issues
115
- changelog_uri: https://github.com/rails/rails/blob/v7.2.1/activemodel/CHANGELOG.md
116
- documentation_uri: https://api.rubyonrails.org/v7.2.1/
115
+ changelog_uri: https://github.com/rails/rails/blob/v7.2.2/activemodel/CHANGELOG.md
116
+ documentation_uri: https://api.rubyonrails.org/v7.2.2/
117
117
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
118
- source_code_uri: https://github.com/rails/rails/tree/v7.2.1/activemodel
118
+ source_code_uri: https://github.com/rails/rails/tree/v7.2.2/activemodel
119
119
  rubygems_mfa_required: 'true'
120
- post_install_message:
120
+ post_install_message:
121
121
  rdoc_options: []
122
122
  require_paths:
123
123
  - lib
@@ -132,8 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
132
132
  - !ruby/object:Gem::Version
133
133
  version: '0'
134
134
  requirements: []
135
- rubygems_version: 3.5.11
136
- signing_key:
135
+ rubygems_version: 3.5.16
136
+ signing_key:
137
137
  specification_version: 4
138
138
  summary: A toolkit for building modeling frameworks (part of Rails).
139
139
  test_files: []