Sha256: c1509722a5fd3eabc86c1c34504d9a6257deaa33cacdf08dd2f6a70e699c5793
Contents?: true
Size: 1.09 KB
Versions: 33
Compression:
Stored size: 1.09 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 named_scope :archived, :conditions => {:archived => true} named_scope :not_archived, :conditions => {: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
33 entries across 33 versions & 11 rubygems