module Sequel::Plugins::Paranoid::Validations::InstanceMethods
Public Instance Methods
validates_unique(*columns) { |ds| ... }
click to toggle source
Enhance validates_unique
to support :paranoid => true for paranoid uniqueness checking.
Calls superclass method
# File lib/sequel/plugins/paranoid.rb, line 177 def validates_unique(*columns) return super(*columns) unless columns.last.kind_of?(Hash) && columns.last.delete(:paranoid) opts = self.class.sequel_paranoid_options if deleted? columns = columns.map { |c| case c when Array, Symbol [ c, opts[:deleted_at_field_name] ].flatten else c end } super(*columns) { |ds| ds = ds.send(opts[:deleted_scope_name]) block_given? ? yield(ds) : ds } else super(*columns) { |ds| ds = ds.send(opts[:non_deleted_scope_name]) block_given? ? yield(ds) : ds } end end