class DataMapper::Validations::AcceptanceValidator
@author Martin Kihlgren @since 0.9
Public Class Methods
new(field_name, options = {})
click to toggle source
Calls superclass method
# File lib/dm-validations/validators/acceptance_validator.rb, line 7 def initialize(field_name, options = {}) super @options[:allow_nil] = true unless @options.key?(:allow_nil) @options[:accept] ||= [ '1', 1, 'true', true, 't' ] @options[:accept] = Array(@options[:accept]) end
Public Instance Methods
call(target)
click to toggle source
# File lib/dm-validations/validators/acceptance_validator.rb, line 16 def call(target) return true if valid?(target) error_message = ( @options[:message] || ValidationErrors.default_error_message( :accepted, field_name ) ) add_error(target, error_message, field_name) false end
Private Instance Methods
allow_nil?(value)
click to toggle source
# File lib/dm-validations/validators/acceptance_validator.rb, line 37 def allow_nil?(value) @options[:allow_nil] && value.nil? end
valid?(target)
click to toggle source
# File lib/dm-validations/validators/acceptance_validator.rb, line 31 def valid?(target) value = target.validation_property_value(field_name) return true if allow_nil?(value) @options[:accept].include?(value) end