method
new
v5.0.0.1 -
Show latest stable
- Class:
ActiveModel::Validations::LengthValidator
new(options)public
No documentation available.
# File activemodel/lib/active_model/validations/length.rb, line 11
def initialize(options)
if range = (options.delete(:in) || options.delete(:within))
raise ArgumentError, ":in and :within must be a Range" unless range.is_a?(Range)
options[:minimum], options[:maximum] = range.min, range.max
end
if options[:allow_blank] == false && options[:minimum].nil? && options[:is].nil?
options[:minimum] = 1
end
if options[:tokenizer]
ActiveSupport::Deprecation.warn( The `:tokenizer` option is deprecated, and will be removed in Rails 5.1. You can achieve the same functionality by defining an instance method with the value that you want to validate the length of. For example, validates_length_of :essay, minimum: 100, tokenizer: ->(str) { str.scan(/\w+/) } should be written as validates_length_of :words_in_essay, minimum: 100 private def words_in_essay essay.scan(/\w+/) end.strip_heredoc)
end
super
end