module Ardm::Property::ParanoidBase::ClassMethods
Public Instance Methods
inherited(model)
click to toggle source
Calls superclass method
# File lib/ardm/property/support/paranoid_base.rb, line 36 def inherited(model) model.instance_variable_set(:@paranoid_properties, @paranoid_properties.dup) model.instance_variable_set(:@paranoid_scopes, @paranoid_scopes.dup) super end
paranoid_properties()
click to toggle source
@api private
# File lib/ardm/property/support/paranoid_base.rb, line 57 def paranoid_properties @paranoid_properties end
paranoid_scopes()
click to toggle source
# File lib/ardm/property/support/paranoid_base.rb, line 61 def paranoid_scopes @paranoid_scopes end
set_paranoid_property(name, &block)
click to toggle source
@api private
# File lib/ardm/property/support/paranoid_base.rb, line 66 def set_paranoid_property(name, &block) paranoid_properties[name] = block end
set_paranoid_scope(conditions)
click to toggle source
# File lib/ardm/property/support/paranoid_base.rb, line 70 def set_paranoid_scope(conditions) paranoid_scope = conditions paranoid_scopes << paranoid_scope default_scope { where(paranoid_scope) } end
with_deleted(&block)
click to toggle source
@api public
# File lib/ardm/property/support/paranoid_base.rb, line 43 def with_deleted(&block) with_deleted_scope = self.all.with_default_scope paranoid_scopes.each do |cond| with_deleted_scope.where_values.delete(cond) end if block_given? with_deleted_scope.scoping(&block) else with_deleted_scope.all end end