From 4a8cf101485469194f56ff666b262bd8bb2a538e Mon Sep 17 00:00:00 2001 From: Edouard CHIN Date: Thu, 11 Jul 2019 01:41:14 +0200 Subject: Returns `nil` when `AM::Errors#delete` doesn't delete anything: - `AM::Errors#delete` currently returns an empty array when trying to delete an error that doesn't exist. This behaviour is surprising and I think it would be better to no return a truthy value but instead return nil like `Hash#delete` does. --- activemodel/lib/active_model/errors.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'activemodel/lib') diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb index f8ea21cf47..f6d6e64a25 100644 --- a/activemodel/lib/active_model/errors.rb +++ b/activemodel/lib/active_model/errors.rb @@ -199,7 +199,7 @@ module ActiveModel matches.each do |error| @errors.delete(error) end - matches.map(&:message) + matches.map(&:message).presence end # When passed a symbol or a name of a method, returns an array of errors -- cgit v1.2.3