Class: BazaModels::Validators::UniquenessValidator

Inherits:
BaseValidator
  • Object
show all
Defined in:
lib/baza_models/validators/uniqueness_validator.rb

Instance Attribute Summary

Attributes inherited from BaseValidator

#args, #attribute_name

Instance Method Summary collapse

Methods inherited from BaseValidator

#fire?, #initialize

Constructor Details

This class inherits a constructor from BazaModels::Validators::BaseValidator

Instance Method Details

#validate(model, value) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/baza_models/validators/uniqueness_validator.rb', line 2

def validate(model, value)
  query_same = model.class.where(attribute_name => value)

  if scope
    scope.each do |scope_part|
      query_same = query_same.where(scope_part => model.__send__(scope_part))
    end
  end

  model.errors.add(attribute_name, "isn't unique") if query_same.any?
end