Method: Sequel::Plugins::ValidationClassMethods::ClassMethods#validates_inclusion_of
- Defined in:
- lib/sequel/plugins/validation_class_methods.rb
#validates_inclusion_of(*atts) ⇒ Object
Validates that an attribute is within a specified range or set of values.
Possible Options:
- :in
-
An array or range of values to check for validity (required)
- :message
-
The message to use (default: ‘is not in range or set: <specified range>’)
337 338 339 340 341 342 343 344 345 346 347 348 349 |
# File 'lib/sequel/plugins/validation_class_methods.rb', line 337 def validates_inclusion_of(*atts) opts = (atts) n = opts[:in] unless n && (n.respond_to?(:cover?) || n.respond_to?(:include?)) raise ArgumentError, "The :in parameter is required, and must respond to cover? or include?" end opts[:message] ||= "is not in range or set: #{n.inspect}" reflect_validation(:inclusion, opts, atts) atts << opts validates_each(*atts) do |o, a, v| o.errors.add(a, opts[:message]) unless n.public_send(n.respond_to?(:cover?) ? :cover? : :include?, v) end end |