Class: DataMapper::Validate::AcceptanceValidator
- Inherits:
-
GenericValidator
- Object
- GenericValidator
- DataMapper::Validate::AcceptanceValidator
- Defined in:
- lib/dm-validations/validators/acceptance_validator.rb
Overview
Instance Attribute Summary
Attributes inherited from GenericValidator
#field_name, #humanized_field_name, #if_clause, #options, #unless_clause
Instance Method Summary collapse
- #call(target) ⇒ Object
-
#initialize(field_name, options = {}) ⇒ AcceptanceValidator
constructor
A new instance of AcceptanceValidator.
- #valid?(target) ⇒ Boolean
Methods inherited from GenericValidator
#==, #add_error, #execute?, #inspect
Constructor Details
#initialize(field_name, options = {}) ⇒ AcceptanceValidator
Returns a new instance of AcceptanceValidator.
10 11 12 13 14 15 16 17 |
# File 'lib/dm-validations/validators/acceptance_validator.rb', line 10 def initialize(field_name, = {}) super # ||= true makes value true if it used to be false @options[:allow_nil] = true unless(.include?(:allow_nil) && [false, nil, "false", "f"].include?([:allow_nil])) @options[:accept] ||= ["1", 1, "true", true, "t"] @options[:accept] = Array(@options[:accept]) end |
Instance Method Details
#call(target) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/dm-validations/validators/acceptance_validator.rb', line 19 def call(target) unless valid?(target) = @options[:message] || ValidationErrors.(:accepted, field_name) add_error(target, , field_name) return false end return true end |
#valid?(target) ⇒ Boolean
29 30 31 32 33 34 35 |
# File 'lib/dm-validations/validators/acceptance_validator.rb', line 29 def valid?(target) field_value = target.validation_property_value(field_name) # Allow empty values return true if @options[:allow_nil] && field_value.blank? @options[:accept].include?(field_value) end |