aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model/validations/confirmation.rb
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2013-05-23 10:00:52 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2013-05-23 10:00:54 -0300
commit9e5b8e3831552a103b2dcf8de75fb6a2337d42ba (patch)
treeef7f47142b07726fc2c7a954d400a9c1ef7558e5 /activemodel/lib/active_model/validations/confirmation.rb
parent30d28b19584783218e842ce2fd7bfe2bc1dccf66 (diff)
parent7d84c3a2f7ede0e8d04540e9c0640de7378e9b3a (diff)
downloadrails-9e5b8e3831552a103b2dcf8de75fb6a2337d42ba.tar.gz
rails-9e5b8e3831552a103b2dcf8de75fb6a2337d42ba.tar.bz2
rails-9e5b8e3831552a103b2dcf8de75fb6a2337d42ba.zip
Merge branch 'deprecate-validator-setup'
Closes #10716
Diffstat (limited to 'activemodel/lib/active_model/validations/confirmation.rb')
-rw-r--r--activemodel/lib/active_model/validations/confirmation.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/activemodel/lib/active_model/validations/confirmation.rb b/activemodel/lib/active_model/validations/confirmation.rb
index 1d85378892..b0542661af 100644
--- a/activemodel/lib/active_model/validations/confirmation.rb
+++ b/activemodel/lib/active_model/validations/confirmation.rb
@@ -2,6 +2,11 @@ module ActiveModel
module Validations
class ConfirmationValidator < EachValidator # :nodoc:
+ def initialize(options)
+ super
+ setup!(options[:class])
+ end
+
def validate_each(record, attribute, value)
if (confirmed = record.send("#{attribute}_confirmation")) && (value != confirmed)
human_attribute_name = record.class.human_attribute_name(attribute)
@@ -9,7 +14,8 @@ module ActiveModel
end
end
- def setup(klass)
+ private
+ def setup!(klass)
klass.send(:attr_reader, *attributes.map do |attribute|
:"#{attribute}_confirmation" unless klass.method_defined?(:"#{attribute}_confirmation")
end.compact)