Sha256: 470f9a9f37b5779652df23fef5b61509f29f43be44c8947cd8cc4bce086717c0

Contents?: true

Size: 525 Bytes

Versions: 2

Compression:

Stored size: 525 Bytes

Contents

module Validatable
  class ValidatesInclusionOf < ValidationBase #:nodoc:
    required_option :in

    def message(instance)
      super || "is not included in the list"
    end

    def valid?(instance)
      valid = true
      value = instance.send(self.attribute)

      return true if allow_nil && value.nil?
      return true if allow_blank && value.blank?

      enum = self.in

      valid &&= !enum.blank?
      valid &&= enum.respond_to?(:include?)
      valid &&= enum.include?(value)
      valid
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vizjerai-validatable-1.8.0 lib/validations/validates_inclusion_of.rb
vizjerai-validatable-1.9.0 lib/validations/validates_inclusion_of.rb