lib/neo4j/rails/validations/uniqueness.rb in neo4j-1.0.0.beta.19 vs lib/neo4j/rails/validations/uniqueness.rb in neo4j-1.0.0.beta.20

- old
+ new

@@ -1,29 +1,31 @@ module Neo4j - module Validations - class UniquenessValidator < ActiveModel::EachValidator - def initialize(options) - super(options.reverse_merge(:case_sensitive => true)) - end - - def setup(klass) - @attributes.each do |attribute| - if klass.index_type_for(attribute) != :exact - raise "Can't validate property #{attribute} on class #{klass} since there is no :exact lucene index on that property or the index declaration #{attribute} comes after the validation declaration in #{klass} (try to move it before the validation rules)" - end - end - end - - def validate_each(record, attribute, value) - if record.class.find("#{attribute}: #{value}") - record.errors.add(attribute, :taken, options.except(:case_sensitive, :scope).merge(:value => value)) - end - end - end - - module ClassMethods - def validates_uniqueness_of(*attr_names) - validates_with UniquenessValidator, _merge_attributes(attr_names) - end - end - end + module Rails + module Validations + class UniquenessValidator < ActiveModel::EachValidator + def initialize(options) + super(options.reverse_merge(:case_sensitive => true)) + end + + def setup(klass) + @attributes.each do |attribute| + if klass.index_type_for(attribute) != :exact + raise "Can't validate property #{attribute} on class #{klass} since there is no :exact lucene index on that property or the index declaration #{attribute} comes after the validation declaration in #{klass} (try to move it before the validation rules)" + end + end + end + + def validate_each(record, attribute, value) + if record.class.find("#{attribute}: \"#{value}\"") + record.errors.add(attribute, :taken, options.except(:case_sensitive, :scope).merge(:value => value)) + end + end + end + + module ClassMethods + def validates_uniqueness_of(*attr_names) + validates_with UniquenessValidator, _merge_attributes(attr_names) + end + end + end + end end