class BazaModels::Validators::UniquenessValidator
Public Instance Methods
validate(model, value)
click to toggle source
# File lib/baza_models/validators/uniqueness_validator.rb, line 2 def validate(model, value) query_same = model.class.where(attribute_name => value) scope&.each do |scope_part| query_same = query_same.where(scope_part => model.__send__(scope_part)) end model.errors.add(attribute_name, "isn't unique") if query_same.any? end
Private Instance Methods
scope()
click to toggle source
# File lib/baza_models/validators/uniqueness_validator.rb, line 14 def scope scope = @args.fetch(:uniqueness)[:scope] scope = [scope] if scope && !scope.is_a?(Array) scope end