aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGarry Shutler <garry@robustsoftware.co.uk>2014-10-14 09:53:26 +0100
committerGarry Shutler <garry@robustsoftware.co.uk>2014-10-14 09:53:26 +0100
commit6c8cf21584ced73ade45529d11463c74b5a0c58f (patch)
tree55a9605cac805667dfa1fd6830cf6f4d56ef0ef5
parentc9504753504fbcbf68f870376f218cdd17cae0a0 (diff)
downloadrails-6c8cf21584ced73ade45529d11463c74b5a0c58f.tar.gz
rails-6c8cf21584ced73ade45529d11463c74b5a0c58f.tar.bz2
rails-6c8cf21584ced73ade45529d11463c74b5a0c58f.zip
Add #key? to ActiveModel::Errors
Mirror Ruby's Hash#key?
-rw-r--r--activemodel/lib/active_model/errors.rb2
-rw-r--r--activemodel/test/cases/errors_test.rb11
2 files changed, 13 insertions, 0 deletions
diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb
index 1b46727351..9105ef5dd6 100644
--- a/activemodel/lib/active_model/errors.rb
+++ b/activemodel/lib/active_model/errors.rb
@@ -98,6 +98,8 @@ module ActiveModel
end
# aliases include?
alias :has_key? :include?
+ # aliases include?
+ alias :key? :include?
# Get messages for +key+.
#
diff --git a/activemodel/test/cases/errors_test.rb b/activemodel/test/cases/errors_test.rb
index 42d0365521..efedd9055f 100644
--- a/activemodel/test/cases/errors_test.rb
+++ b/activemodel/test/cases/errors_test.rb
@@ -59,6 +59,17 @@ class ErrorsTest < ActiveModel::TestCase
assert_equal false, errors.has_key?(:name), 'errors should not have key :name'
end
+ def test_key?
+ errors = ActiveModel::Errors.new(self)
+ errors[:foo] = 'omg'
+ assert_equal true, errors.key?(:foo), 'errors should have key :foo'
+ end
+
+ def test_no_key
+ errors = ActiveModel::Errors.new(self)
+ assert_equal false, errors.key?(:name), 'errors should not have key :name'
+ end
+
test "clear errors" do
person = Person.new
person.validate!