From 42a16a4d6514f28e05f1c22a5f9125d194d9c7cb Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Wed, 28 Feb 2018 19:54:42 +0900 Subject: Alias `assign_attributes` to `attributes=` for `AttributeAssignment` There is no reason `attributes=` doesn't take `assign_attributes`. --- activemodel/lib/active_model/attribute_assignment.rb | 2 ++ activemodel/test/cases/attribute_assignment_test.rb | 8 ++++++++ 2 files changed, 10 insertions(+) (limited to 'activemodel') diff --git a/activemodel/lib/active_model/attribute_assignment.rb b/activemodel/lib/active_model/attribute_assignment.rb index aa931119ff..217bf1ac01 100644 --- a/activemodel/lib/active_model/attribute_assignment.rb +++ b/activemodel/lib/active_model/attribute_assignment.rb @@ -35,6 +35,8 @@ module ActiveModel _assign_attributes(sanitize_for_mass_assignment(attributes)) end + alias attributes= assign_attributes + private def _assign_attributes(attributes) diff --git a/activemodel/test/cases/attribute_assignment_test.rb b/activemodel/test/cases/attribute_assignment_test.rb index 448f8587fd..b06291f1b4 100644 --- a/activemodel/test/cases/attribute_assignment_test.rb +++ b/activemodel/test/cases/attribute_assignment_test.rb @@ -68,6 +68,14 @@ class AttributeAssignmentTest < ActiveModel::TestCase assert_equal "world", model.description end + test "simple assignment alias" do + model = Model.new + + model.attributes = { name: "hello", description: "world" } + assert_equal "hello", model.name + assert_equal "world", model.description + end + test "assign non-existing attribute" do model = Model.new error = assert_raises(ActiveModel::UnknownAttributeError) do -- cgit v1.2.3