From de604c2b6d48005845f45e62c5ac60756e6089a0 Mon Sep 17 00:00:00 2001 From: Weston Ganger Date: Wed, 23 May 2018 11:01:06 -0700 Subject: [PATCH] Fix #319 --- lib/paranoia.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/paranoia.rb b/lib/paranoia.rb index 4ba4c389..7c704756 100644 --- a/lib/paranoia.rb +++ b/lib/paranoia.rb @@ -238,7 +238,7 @@ def self.acts_as_paranoid(options={}) alias_method :destroy_without_paranoia, :destroy include Paranoia - class_attribute :paranoia_column, :paranoia_sentinel_value + class_attribute :paranoia_column, :paranoia_sentinel_value, :paranoia_default_scope_enabled self.paranoia_column = (options[:column] || :deleted_at).to_s self.paranoia_sentinel_value = options.fetch(:sentinel_value) { Paranoia.default_sentinel_value } @@ -248,6 +248,7 @@ def self.paranoia_scope class << self; alias_method :without_deleted, :paranoia_scope end unless options[:without_default_scope] + self.paranoia_default_scope_enabled = true default_scope { paranoia_scope } end @@ -292,7 +293,7 @@ module Validations module UniquenessParanoiaValidator def build_relation(klass, *args) relation = super - return relation unless klass.respond_to?(:paranoia_column) + return relation unless klass.respond_to?(:paranoia_default_scope_enabled) && klass.paranoia_default_scope_enabled arel_paranoia_scope = klass.arel_table[klass.paranoia_column].eq(klass.paranoia_sentinel_value) if ActiveRecord::VERSION::STRING >= "5.0" relation.where(arel_paranoia_scope)