module DatabaseValidations::Storage
Public Instance Methods
prepare(model)
click to toggle source
# File lib/database_validations/lib/storage.rb, line 5 def prepare(model) model.class_attribute :_db_validators, instance_writer: false model._db_validators = {} model.validators.each do |validator| case validator when DbUniquenessValidator then process(validator, UniquenessKeyExtractor, model) when DbPresenceValidator then process(validator, PresenceKeyExtractor, model) else next end end end
prepared?(model)
click to toggle source
# File lib/database_validations/lib/storage.rb, line 24 def prepared?(model) model.respond_to?(:_db_validators) end
process(validator, extractor, model)
click to toggle source
# File lib/database_validations/lib/storage.rb, line 18 def process(validator, extractor, model) extractor.attribute_by_key(validator).each do |key, attribute| model._db_validators[key] = AttributeValidator.new(attribute, validator) end end