diff --git a/lib/mongoid/publish.rb b/lib/mongoid/publish.rb index df223ec..9a67f70 100644 --- a/lib/mongoid/publish.rb +++ b/lib/mongoid/publish.rb @@ -7,6 +7,7 @@ module Publish field :published, :type => Boolean, :default => false scope :published, -> { where(:published => true, :published_at.lte => Time.now) } + scope :draft, -> { where(:published => false) } before_save :set_published_at end @@ -23,6 +24,12 @@ def publish! self.published_at = Time.now self.save end + + def unpublish! + self.published = false + self.published_at = nil + self.save + end def publication_status self.published? ? self.published_at : "draft" @@ -40,4 +47,4 @@ def list(includes_drafts=true) end end -end \ No newline at end of file +end