Module DataMapper::Validations::AutoValidations
In: lib/dm-validations/auto_validate.rb

Methods

Classes and Modules

Module DataMapper::Validations::AutoValidations::ModelExtension

Attributes

disable_auto_validations  [R]  TODO: why are there 3 entry points to this ivar? disable_auto_validations, disabled_auto_validations?, auto_validations_disabled?

Public Class methods

Auto-generate validations for a given property. This will only occur if the option :auto_validation is either true or left undefined.

  Triggers that generate validator creation

  :required => true
      Setting the option :required to true causes a
      validates_presence_of validator to be automatically created on
      the property

  :length => 20
      Setting the option :length causes a validates_length_of
      validator to be automatically created on the property. If the
      value is a Integer the validation will set :maximum => value
      if the value is a Range the validation will set
      :within => value

  :format => :predefined / lambda / Proc
      Setting the :format option causes a validates_format_of
      validator to be automatically created on the property

  :set => ["foo", "bar", "baz"]
      Setting the :set option causes a validates_within
      validator to be automatically created on the property

  Integer type
      Using a Integer type causes a validates_numericality_of
      validator to be created for the property.  integer_only
      is set to true

  BigDecimal or Float type
      Using a Integer type causes a validates_numericality_of
      validator to be created for the property.  integer_only
      is set to false, and precision/scale match the property

  Messages

  :messages => {..}
      Setting :messages hash replaces standard error messages
      with custom ones. For instance:
      :messages => {:presence => "Field is required",
                    :format => "Field has invalid format"}
      Hash keys are: :presence, :format, :length, :is_unique,
                     :is_number, :is_primitive

  :message => "Some message"
      It is just shortcut if only one validation option is set

@api private

Public Instance methods

auto_validations_disabled?()

Alias for disabled_auto_validations?

Checks whether auto validations are currently disabled (see disable_auto_validations method that takes a block)

@return [TrueClass, FalseClass]

  true if auto validation is currently disabled

@api semipublic

disables generation of validations for duration of given block

@api public

[Validate]