Class: SimpleValidate::ValidatesExclusionOf
- Inherits:
-
ValidatesBase
- Object
- ValidatesBase
- SimpleValidate::ValidatesExclusionOf
- Defined in:
- lib/simple_validate/validates_exclusion_of.rb
Instance Attribute Summary
Attributes inherited from ValidatesBase
#attribute, #condition, #message
Instance Method Summary collapse
-
#initialize(attribute, options) ⇒ ValidatesExclusionOf
constructor
A new instance of ValidatesExclusionOf.
- #valid?(instance) ⇒ Boolean
Constructor Details
#initialize(attribute, options) ⇒ ValidatesExclusionOf
Returns a new instance of ValidatesExclusionOf.
5 6 7 8 9 10 11 12 13 |
# File 'lib/simple_validate/validates_exclusion_of.rb', line 5 def initialize(attribute, ) @set = [:in] @allow_nil = [:allow_nil] raise ArgumentError unless [Array, Range].include?(@set.class) super(attribute, [:message] || "breaks exclusion rules", [:if] || proc { true }) end |
Instance Method Details
#valid?(instance) ⇒ Boolean
15 16 17 18 19 20 21 |
# File 'lib/simple_validate/validates_exclusion_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 |