Sha256: f43055e13a4c2dbe9a77ae001aae556108ec18512168ff41b30e6e3b31a330ac
Contents?: true
Size: 1.06 KB
Versions: 11
Compression:
Stored size: 1.06 KB
Contents
module Cms module Behaviors module Archiving def self.included(model_class) model_class.extend(MacroMethods) end module MacroMethods def archivable? !!@is_archivable end def is_archivable(options={}) @is_archivable = true include InstanceMethods scope :archived, ->{where(:archived => true)} scope :not_archived, ->{where(:archived => false)} end end module InstanceMethods def archive self.archived = true self.version_comment = "Archived" self.save end def archive! self.archived = true self.version_comment = "Archived" self.save! end def unarchive self.archived = false self.version_comment = "Unarchived" self.save end def unarchive! self.archived = false self.version_comment = "Unarchived" self.save! end end end end end
Version data entries
11 entries across 11 versions & 2 rubygems