提交 e5cc892c 编写于 作者: K Kuldeep Aggarwal

remove depricated Validatior#setup

上级 254efb71
......@@ -106,7 +106,6 @@ def self.kind
# Accepts options that will be made available through the +options+ reader.
def initialize(options = {})
@options = options.except(:class).freeze
deprecated_setup(options)
end
# Returns the kind for this validator.
......@@ -122,21 +121,6 @@ def kind
def validate(record)
raise NotImplementedError, "Subclasses must implement a validate(record) method."
end
private
def deprecated_setup(options) # TODO: remove me in 4.2.
return unless respond_to?(:setup)
ActiveSupport::Deprecation.warn "The `Validator#setup` instance method is deprecated and will be removed on Rails 4.2. Do your setup in the constructor instead:
class MyValidator < ActiveModel::Validator
def initialize(options={})
super
options[:class].send :attr_accessor, :custom_attribute
end
end
"
setup(options[:class])
end
end
# +EachValidator+ is a validator which iterates through the attributes given
......
......@@ -378,25 +378,4 @@ def test_dup_validity_is_independent
assert topic.invalid?
assert duped.valid?
end
# validator test:
def test_setup_is_deprecated_but_still_receives_klass # TODO: remove me in 4.2.
validator_class = Class.new(ActiveModel::Validator) do
def setup(klass)
@old_klass = klass
end
def validate(*)
@old_klass == Topic or raise "#setup didn't work"
end
end
assert_deprecated do
Topic.validates_with validator_class
end
t = Topic.new
t.valid?
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册