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
176 def validate
177   super
178   opts = model.auto_validate_options
179 
180   unless (not_null_columns = model.auto_validate_not_null_columns).empty?
181     if model.auto_validate_presence?
182       validates_presence(not_null_columns, opts[:not_null])
183     else
184       validates_not_null(not_null_columns, opts[:not_null])
185     end
186   end
187   unless (not_null_columns = model.auto_validate_explicit_not_null_columns).empty?
188     if model.auto_validate_presence?
189       validates_presence(not_null_columns, opts[:explicit_not_null])
190     else
191       validates_not_null(not_null_columns, opts[:explicit_not_null])
192     end
193   end
194   unless (max_length_columns = model.auto_validate_max_length_columns).empty?
195     max_length_columns.each do |col, len|
196       validates_max_length(len, col, opts[:max_length])
197     end
198   end
199 
200   validates_schema_types(keys, opts[:schema_types]) if model.auto_validate_types?
201 
202   unique_opts = Hash[opts[:unique]]
203   if model.respond_to?(:sti_dataset)
204     unique_opts[:dataset] = model.sti_dataset
205   end
206   model.auto_validate_unique_columns.each{|cols| validates_unique(cols, unique_opts)}
207 end