@author Guy van den Berg @since 0.9
# File lib/couchrest/validation/validators/confirmation_validator.rb, line 40 def call(target) unless valid?(target) error_message = @options[:message] || ValidationErrors.default_error_message(:confirmation, field_name) add_error(target, error_message, field_name) return false end return true end
# File lib/couchrest/validation/validators/confirmation_validator.rb, line 50 def valid?(target) field_value = target.send(field_name) return true if @options[:allow_nil] && field_value.nil? return false if !@options[:allow_nil] && field_value.nil? confirm_value = target.instance_variable_get("@#{@confirm_field_name}") field_value == confirm_value end
# File lib/couchrest/validation/validators/confirmation_validator.rb, line 33 def initialize(field_name, options = {}) super @options = options @field_name, @confirm_field_name = field_name, (options[:confirm] || "#{field_name}_confirmation").to_sym @options[:allow_nil] = true unless @options.has_key?(:allow_nil) end