Method: ActiveModel::Validations::LengthValidator#initialize

Defined in:
activemodel/lib/active_model/validations/length.rb

#initialize(options) ⇒ LengthValidator

Returns a new instance of LengthValidator.



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'activemodel/lib/active_model/validations/length.rb', line 15

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] = range.min if range.begin
    options[:maximum] = (range.exclude_end? ? range.end - 1 : range.end) if range.end
  end

  if options[:allow_blank] == false && options[:minimum].nil? && options[:is].nil?
    options[:minimum] = 1
  end

  super
end