module DuckRecord::Validations::HelperMethods
Public Instance Methods
Validates whether the value of the specified attribute is available in a particular enumerable object.
class Person < ActiveRecord::Base validates_inclusion_of :gender, in: %w( m f ) validates_inclusion_of :age, in: 0..99 validates_inclusion_of :format, in: %w( jpg gif png ), message: "extension %{value} is not included in the list" validates_inclusion_of :states, in: ->(person) { STATES[person.country] } validates_inclusion_of :karma, in: :available_karmas end
Configuration options:
-
:in
- An enumerable object of available items. This can be supplied as a proc, lambda or symbol which returns an enumerable. If the enumerable is a numerical, time or datetime range the test is performed withRange#cover?
, otherwise withinclude?
. When using a proc or lambda the instance under validation is passed as an argument. -
:within
- A synonym(or alias) for:in
-
:message
- Specifies a custom error message (default is: “is not included in the list”).
There is also a list of default options supported by every validator: :if
, :unless
, :on
, :allow_nil
, :allow_blank
, and :strict
. See ActiveModel::Validations#validates
for more information
# File lib/duck_record/validations/subset.rb, line 69 def validates_subset_of(*attr_names) validates_with SubsetValidator, _merge_attributes(attr_names) end