Module | Sequel::Plugins::AutoValidations::InstanceMethods |
In: |
lib/sequel/plugins/auto_validations.rb
|
Validate the model‘s auto validations columns
# 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