Module: CouchPublish
- Defined in:
- lib/couch_publish/couch_publish.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#discard_draft ⇒ Object
Discard the working draft, and revert the document back to the last published state, but don’t save.
-
#discard_draft!(&block) ⇒ Object
Discard the working draft, and revert the document back to the last published version.
-
#draft? ⇒ Boolean
Returns true if this version has not been published.
-
#last_published_version ⇒ Object
Returns the latest version of the document that was published.
-
#previously_published? ⇒ Boolean
Has any of version of this document ever been published?.
- #publish!(&block) ⇒ Object
-
#published? ⇒ Boolean
Returns true if this version is published.
- #published_versions ⇒ Object
Class Method Details
.included(base) ⇒ Object
2 3 4 |
# File 'lib/couch_publish/couch_publish.rb', line 2 def self.included(base) base.send :include, Memories unless base.ancestors.include? Memories end |
Instance Method Details
#discard_draft ⇒ Object
Discard the working draft, and revert the document back to the last published state, but don’t save. Note that if you save the document after calling this method, you would still have to call the publish! method if you want the revert to be published
44 45 46 47 48 |
# File 'lib/couch_publish/couch_publish.rb', line 44 def discard_draft discard_draft_exception_check self.rollback_to_latest_milestone self end |
#discard_draft!(&block) ⇒ Object
Discard the working draft, and revert the document back to the last published version
32 33 34 35 36 37 |
# File 'lib/couch_publish/couch_publish.rb', line 32 def discard_draft!(&block) discard_draft_exception_check self.rollback_to_latest_milestone! self.publish! &block self end |
#draft? ⇒ Boolean
Returns true if this version has not been published
16 17 18 |
# File 'lib/couch_publish/couch_publish.rb', line 16 def draft? not self.published? end |
#last_published_version ⇒ Object
Returns the latest version of the document that was published
21 22 23 |
# File 'lib/couch_publish/couch_publish.rb', line 21 def last_published_version self.milestones.empty? ? nil : self.milestones.last.instance end |
#previously_published? ⇒ Boolean
Has any of version of this document ever been published?
26 27 28 |
# File 'lib/couch_publish/couch_publish.rb', line 26 def previously_published? not self.milestones.empty? end |
#publish!(&block) ⇒ Object
6 7 8 |
# File 'lib/couch_publish/couch_publish.rb', line 6 def publish!(&block) self.milestone! &block end |
#published? ⇒ Boolean
Returns true if this version is published
11 12 13 |
# File 'lib/couch_publish/couch_publish.rb', line 11 def published? self.milestone? or self.milestone_commit? end |
#published_versions ⇒ Object
50 51 52 |
# File 'lib/couch_publish/couch_publish.rb', line 50 def published_versions self.milestones end |