Skip to content

Commit 0c152f2

Browse files
authored
Merge pull request rails#36150 from rails/error-any-delegation
any? should be delegated to the errors list
2 parents 84572fe + 2ada222 commit 0c152f2

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

activemodel/lib/active_model/errors.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class Errors
6464
include Enumerable
6565

6666
extend Forwardable
67-
def_delegators :@errors, :size, :clear, :blank?, :empty?, :uniq!
67+
def_delegators :@errors, :size, :clear, :blank?, :empty?, :uniq!, :any?
6868
# TODO: forward all enumerable methods after `each` deprecation is removed.
6969
def_delegators :@errors, :count
7070

activemodel/test/cases/errors_test.rb

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,17 @@ def test_include?
4444
assert_includes errors, "foo", "errors should include 'foo' as :foo"
4545
end
4646

47+
def test_any?
48+
errors = ActiveModel::Errors.new(Person.new)
49+
errors.add(:name)
50+
assert_not_deprecated {
51+
assert errors.any?, "any? should return true"
52+
}
53+
assert_not_deprecated {
54+
assert errors.any? { |_| true }, "any? should return true"
55+
}
56+
end
57+
4758
def test_dup
4859
errors = ActiveModel::Errors.new(Person.new)
4960
errors.add(:name)

0 commit comments

Comments
 (0)