From 23547c8c208d5405e04056ae8bfd726961983e54 Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Sat, 1 Apr 2017 15:52:11 +0900 Subject: Fix `warning: extra states are no longer copied` `messages` has `default_proc` so calling `reject` causes the warning. https://github.com/ruby/ruby/blob/v2_4_1/hash.c#L1335-L1337 --- activemodel/lib/active_model/errors.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb index 5d3472802b..942b4fa9bb 100644 --- a/activemodel/lib/active_model/errors.rb +++ b/activemodel/lib/active_model/errors.rb @@ -172,8 +172,8 @@ module ActiveModel # person.errors.messages # => {:name=>["cannot be nil", "must be specified"]} # person.errors.values # => [["cannot be nil", "must be specified"]] def values - messages.reject do |key, value| - value.empty? + messages.select do |key, value| + !value.empty? end.values end @@ -182,8 +182,8 @@ module ActiveModel # person.errors.messages # => {:name=>["cannot be nil", "must be specified"]} # person.errors.keys # => [:name] def keys - messages.reject do |key, value| - value.empty? + messages.select do |key, value| + !value.empty? end.keys end -- cgit v1.2.3