class SimpleValidate::ValidatesInclusionOf

Public Class Methods

new(attribute, options) click to toggle source
Calls superclass method SimpleValidate::ValidatesBase::new
# File lib/simple_validate/validates_inclusion_of.rb, line 5
def initialize(attribute, options)
  @set = options[:in]
  @allow_nil = options[:allow_nil]

  raise ArgumentError unless [Array, Range].include?(@set.class)

  super(attribute, options[:message] ||
    "breaks inclusion rules", options[:if] || proc { true })
end

Public Instance Methods

valid?(instance) click to toggle source
# File lib/simple_validate/validates_inclusion_of.rb, line 15
def valid?(instance)
  val = instance.send(attribute)

  return true if val.nil? && @allow_nil == true

  @set.to_a.include?(val)
end