aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel')
-rw-r--r--activemodel/lib/active_model/errors.rb5
-rw-r--r--activemodel/test/cases/errors_test.rb6
2 files changed, 11 insertions, 0 deletions
diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb
index 003c94a409..5e3cf510b0 100644
--- a/activemodel/lib/active_model/errors.rb
+++ b/activemodel/lib/active_model/errors.rb
@@ -84,6 +84,11 @@ module ActiveModel
messages.clear
end
+ # Do the error messages include an error with key +error+?
+ def include?(error)
+ messages.include? error
+ end
+
# Get messages for +key+
def get(key)
messages[key]
diff --git a/activemodel/test/cases/errors_test.rb b/activemodel/test/cases/errors_test.rb
index 8cb8f7ba44..a24cac40ad 100644
--- a/activemodel/test/cases/errors_test.rb
+++ b/activemodel/test/cases/errors_test.rb
@@ -27,6 +27,12 @@ class ErrorsTest < ActiveModel::TestCase
end
end
+ def test_include?
+ errors = ActiveModel::Errors.new(self)
+ errors[:foo] = 'omg'
+ assert errors.include?(:foo), 'errors should include :foo'
+ end
+
test "should return true if no errors" do
person = Person.new
person.errors[:foo]