Files
grecia/lib/acts_as_paranoid_aliases.rb
2015-08-20 13:16:37 +02:00

39 lines
618 B
Ruby

module ActsAsParanoidAliases
def self.included(base)
base.extend(ClassMethods)
def hide
update_attribute(:hidden_at, Time.now)
end
def hidden?
deleted?
end
end
module ClassMethods
def with_hidden
with_deleted
end
def only_hidden
only_deleted
end
def hide_all(ids)
return if ids.blank?
where(id: ids).update_all(hidden_at: Time.now)
end
def restore_all(ids)
return if ids.blank?
only_hidden.where(id: ids).update_all(hidden_at: nil)
end
end
end
module ActsAsParanoid
include ActsAsParanoidAliases
end