class DataMapper::Validations::ConfirmationValidator
@author Guy van den Berg @since 0.9
Public Class Methods
new(field_name, options = {})
click to toggle source
Calls superclass method
# File lib/dm-validations/validators/confirmation_validator.rb, line 7 def initialize(field_name, options = {}) super set_optional_by_default @confirm_field_name = ( options[:confirm] || "#{field_name}_confirmation" ).to_sym end
Public Instance Methods
call(target)
click to toggle source
# File lib/dm-validations/validators/confirmation_validator.rb, line 17 def call(target) return true if valid?(target) error_message = ( @options[:message] || ValidationErrors.default_error_message( :confirmation, field_name ) ) add_error(target, error_message, field_name) false end
Private Instance Methods
valid?(target)
click to toggle source
# File lib/dm-validations/validators/confirmation_validator.rb, line 32 def valid?(target) value = target.validation_property_value(field_name) return true if optional?(value) if target.model.properties.named?(field_name) return true unless target.attribute_dirty?(field_name) end confirm_value = target.instance_variable_get("@#{@confirm_field_name}") value == confirm_value end