Module Sequel::Plugins::AutoValidations::InstanceMethods
In: lib/sequel/plugins/auto_validations.rb

Methods

validate  

Public Instance methods

Validate the model‘s auto validations columns

[Source]

     # File lib/sequel/plugins/auto_validations.rb, line 176
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

[Validate]