aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/test/cases/attribute_assignment_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel/test/cases/attribute_assignment_test.rb')
-rw-r--r--activemodel/test/cases/attribute_assignment_test.rb25
1 files changed, 22 insertions, 3 deletions
diff --git a/activemodel/test/cases/attribute_assignment_test.rb b/activemodel/test/cases/attribute_assignment_test.rb
index 3336691841..12e007292a 100644
--- a/activemodel/test/cases/attribute_assignment_test.rb
+++ b/activemodel/test/cases/attribute_assignment_test.rb
@@ -23,13 +23,32 @@ class AttributeAssignmentTest < ActiveModel::TestCase
class ErrorFromAttributeWriter < StandardError
end
- class ProtectedParams < ActiveSupport::HashWithIndifferentAccess
+ class ProtectedParams
+ attr_accessor :permitted
+ alias :permitted? :permitted
+
+ delegate :keys, :key?, :has_key?, :empty?, to: :@parameters
+
+ def initialize(attributes)
+ @parameters = attributes.with_indifferent_access
+ @permitted = false
+ end
+
def permit!
@permitted = true
+ self
+ end
+
+ def [](key)
+ @parameters[key]
+ end
+
+ def to_h
+ @parameters
end
- def permitted?
- @permitted ||= false
+ def stringify_keys
+ dup
end
def dup