module Sequel::Plugins::AutoValidations::InstanceMethods

Public Instance Methods

validate() click to toggle source

Validate the model's auto validations columns

Calls superclass method
# File lib/sequel/plugins/auto_validations.rb, line 128
def validate
  super
  unless (not_null_columns = model.auto_validate_not_null_columns).empty?
    if model.auto_validate_presence?
      validates_presence(not_null_columns)
    else
      validates_not_null(not_null_columns)
    end
  end
  unless (not_null_columns = model.auto_validate_explicit_not_null_columns).empty?
    if model.auto_validate_presence?
      validates_presence(not_null_columns, :allow_missing=>true)
    else
      validates_not_null(not_null_columns, :allow_missing=>true)
    end
  end
  unless (max_length_columns = model.auto_validate_max_length_columns).empty?
    max_length_columns.each do |col, len|
      validates_max_length(len, col, :allow_nil=>true)
    end
  end

  validates_schema_types if model.auto_validate_types?

  unique_opts = {}
  if model.respond_to?(:sti_dataset)
    unique_opts[:dataset] = model.sti_dataset
  end
  model.auto_validate_unique_columns.each{|cols| validates_unique(cols, unique_opts)}
end