Sha256: f7df9e31de03940bf88f183f1410a3c23f6a305a19249cb957a39183a1650912

Contents?: true

Size: 624 Bytes

Versions: 2

Compression:

Stored size: 624 Bytes

Contents

module DataMapper # :nodoc:
  module Validate # :nodoc:

    class ConfirmationValidator < GenericValidator # :nodoc:

      def valid?(target)
        field_value = target.instance_variable_get("@#{@field_name}")
        return true if @options[:allow_nil] && field_value.nil?
        return false if !@options[:allow_nil] && field_value.nil?
        return true unless target.attribute_dirty?(@field_name)

        confirm_value = target.instance_variable_get("@#{@confirm_field_name}")
        field_value == confirm_value
      end

    end # class ConfirmationValidator

  end # module Validate
end # module DataMapper

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mack-data_mapper-0.6.0 lib/dm_patches/confirmation_validation.rb
mack-data_mapper-0.6.0.1 lib/dm_patches/confirmation_validation.rb