From b437053b5b5c04712b9bf851353d08cff0600430 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?=
 <rafaelmfranca@gmail.com>
Date: Fri, 21 Dec 2012 17:04:37 -0300
Subject: Remove ActiveModel::Errors#add_on_present method.

We don't need to define a new method in ActiveMode::Errors for each
validatior.

See
https://github.com/rails/rails/commit/d72a07f1d1478db9daed847eadb35bfd840674f6#commitcomment-2325333
---
 activemodel/lib/active_model/errors.rb              | 13 -------------
 activemodel/lib/active_model/validations/absence.rb |  4 ++--
 activemodel/lib/active_model/validator.rb           |  2 +-
 3 files changed, 3 insertions(+), 16 deletions(-)

(limited to 'activemodel')

diff --git a/activemodel/lib/active_model/errors.rb b/activemodel/lib/active_model/errors.rb
index b713e99e25..963e52bff3 100644
--- a/activemodel/lib/active_model/errors.rb
+++ b/activemodel/lib/active_model/errors.rb
@@ -328,19 +328,6 @@ module ActiveModel
       end
     end
 
-    # Will add an error message to each of the attributes in +attributes+ that
-    # is present (using Object#present?).
-    #
-    #   person.errors.add_on_present(:name)
-    #   person.errors.messages
-    #   # => { :name => ["must be blank"] }
-    def add_on_present(attributes, options = {})
-      Array(attributes).flatten.each do |attribute|
-        value = @base.send(:read_attribute_for_validation, attribute)
-        add(attribute, :not_blank, options) if value.present?
-      end
-    end
-
     # Returns +true+ if an error on the attribute with the given message is
     # present, +false+ otherwise. +message+ is treated the same as for +add+.
     #
diff --git a/activemodel/lib/active_model/validations/absence.rb b/activemodel/lib/active_model/validations/absence.rb
index 6790554907..2c6df60020 100644
--- a/activemodel/lib/active_model/validations/absence.rb
+++ b/activemodel/lib/active_model/validations/absence.rb
@@ -2,8 +2,8 @@ module ActiveModel
   module Validations
     # == Active Model Absence Validator
     class AbsenceValidator < EachValidator #:nodoc:
-      def validate(record)
-        record.errors.add_on_present(attributes, options)
+      def validate_each(record, attr_name, value)
+        record.errors.add(attr_name, :not_blank, options) if value.present?
       end
     end
 
diff --git a/activemodel/lib/active_model/validator.rb b/activemodel/lib/active_model/validator.rb
index ff3dfa01c8..d51f4d1936 100644
--- a/activemodel/lib/active_model/validator.rb
+++ b/activemodel/lib/active_model/validator.rb
@@ -110,7 +110,7 @@ module ActiveModel
     # Return the kind for this validator.
     #
     #   PresenceValidator.new.kind   # => :presence
-    #   UniquenessValidator.new.kind # => :uniqueness 
+    #   UniquenessValidator.new.kind # => :uniqueness
     def kind
       self.class.kind
     end
-- 
cgit v1.2.3