lib/active_model/attribute_methods.rb in activemodel-7.2.1.2 vs lib/active_model/attribute_methods.rb in activemodel-7.2.2

- old
+ new

@@ -213,11 +213,16 @@ generate_alias_attribute_methods(code_generator, new_name, old_name) end end def generate_alias_attribute_methods(code_generator, new_name, old_name) - define_attribute_method(old_name, _owner: code_generator, as: new_name) + ActiveSupport::CodeGenerator.batch(code_generator, __FILE__, __LINE__) do |owner| + attribute_method_patterns.each do |pattern| + alias_attribute_method_definition(code_generator, pattern, new_name, old_name) + end + attribute_method_patterns_cache.clear + end end def alias_attribute_method_definition(code_generator, pattern, new_name, old_name) # :nodoc: method_name = pattern.method_name(new_name).to_s target_name = pattern.method_name(old_name).to_s @@ -226,11 +231,11 @@ mangled_name = build_mangled_name(target_name) call_args = [] call_args << parameters if parameters - define_call(code_generator, method_name, target_name, mangled_name, parameters, call_args, namespace: :alias_attribute) + define_call(code_generator, method_name, target_name, mangled_name, parameters, call_args, namespace: :alias_attribute, as: method_name) end # Is +new_name+ an alias? def attribute_alias?(new_name) attribute_aliases.key? new_name.to_s @@ -439,10 +444,10 @@ def build_mangled_name(name) mangled_name = name unless NAME_COMPILABLE_REGEXP.match?(name) - mangled_name = "__temp__#{name.unpack1("h*")}" + mangled_name = :"__temp__#{name.unpack1("h*")}" end mangled_name end