ActsAsParanoid::Core::ClassMethods

Public Class Methods

extended(base) click to toggle source
# File lib/acts_as_paranoid/core.rb, line 8
def self.extended(base)
  base.define_callbacks :recover
end

Public Instance Methods

after_recover(method) click to toggle source
# File lib/acts_as_paranoid/core.rb, line 16
def after_recover(method)
  set_callback :recover, :after, method
end
before_recover(method) click to toggle source
# File lib/acts_as_paranoid/core.rb, line 12
def before_recover(method)
  set_callback :recover, :before, method
end
delete_all(conditions = nil) click to toggle source
# File lib/acts_as_paranoid/core.rb, line 32
def delete_all(conditions = nil)
  update_all ["#{paranoid_configuration[:column]} = ?", delete_now_value], conditions
end
delete_all!(conditions = nil) click to toggle source
# File lib/acts_as_paranoid/core.rb, line 28
def delete_all!(conditions = nil)
  without_paranoid_default_scope.delete_all!(conditions)
end
delete_now_value() click to toggle source
# File lib/acts_as_paranoid/core.rb, line 52
def delete_now_value
  case paranoid_configuration[:column_type]
  when "time" then Time.now
  when "boolean" then true
  when "string" then paranoid_configuration[:deleted_value]
  end
end
dependent_associations() click to toggle source
# File lib/acts_as_paranoid/core.rb, line 48
def dependent_associations
  self.reflect_on_all_associations.select {|a| [:destroy, :delete_all].include?(a.options[:dependent]) }
end
only_deleted() click to toggle source
# File lib/acts_as_paranoid/core.rb, line 24
def only_deleted
  without_paranoid_default_scope.where("#{paranoid_column_reference} IS NOT ?", nil)
end
paranoid_column() click to toggle source
# File lib/acts_as_paranoid/core.rb, line 40
def paranoid_column
  paranoid_configuration[:column].to_sym
end
paranoid_column_type() click to toggle source
# File lib/acts_as_paranoid/core.rb, line 44
def paranoid_column_type
  paranoid_configuration[:column_type].to_sym
end
paranoid_default_scope_sql() click to toggle source
# File lib/acts_as_paranoid/core.rb, line 36
def paranoid_default_scope_sql
  self.scoped.table[paranoid_column].eq(nil).to_sql
end
with_deleted() click to toggle source
# File lib/acts_as_paranoid/core.rb, line 20
def with_deleted
  without_paranoid_default_scope
end

Protected Instance Methods

without_paranoid_default_scope() click to toggle source
# File lib/acts_as_paranoid/core.rb, line 62
def without_paranoid_default_scope
  scope = self.scoped.with_default_scope
  scope.where_values.delete(paranoid_default_scope_sql)

  scope
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.