Sha256: 46e06b730b2734e873bf4ef33fd787fd4c2b1875efec352f71a15c06b6d8642f
Contents?: true
Size: 455 Bytes
Versions: 7
Compression:
Stored size: 455 Bytes
Contents
module Validatable class ValidatesUniquenessOf < Validatable::ValidationBase option :scope def valid?(instance) conditions = { self.attribute => instance.send(attribute) } if scope conditions.merge!(scope => instance.send(scope)) end doc = instance.class.first(:conditions => conditions) doc.nil? || instance.id == doc.id end def message(instance) super || "must be unique" end end end
Version data entries
7 entries across 7 versions & 1 rubygems