module StorageUnit::Core

Public Instance Methods

recover!(opts = {}) click to toggle source
# File lib/storage_unit/core.rb, line 42
def recover!(opts = {})
  run_callbacks :recover do
    update_columns trash_hash(nil)
    recover_dependents
  end
end
recover_dependents() click to toggle source
# File lib/storage_unit/core.rb, line 49
def recover_dependents
  Array(storage_unit_opts[:cascade]).each do |x|
    send(x).with_deleted.update_all trash_hash(nil)
  end
end
trash!() click to toggle source
# File lib/storage_unit/core.rb, line 29
def trash!
  run_callbacks :trash do
    update_columns trash_hash(DateTime.now)
    trash_dependents
  end
end
trash_dependents() click to toggle source
# File lib/storage_unit/core.rb, line 36
def trash_dependents
  Array(storage_unit_opts[:cascade]).each do |x|
    send(x).update_all trash_hash(DateTime.now)
  end
end
trash_hash(value) click to toggle source
# File lib/storage_unit/core.rb, line 55
def trash_hash(value)
  {}.tap { |h| h[storage_unit_opts[:column]] = value }
end
trashed?() click to toggle source
# File lib/storage_unit/core.rb, line 25
def trashed?
  send(storage_unit_opts[:column]).present?
end