Class: Pageflow::Revision
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Pageflow::Revision
- Defined in:
- app/models/pageflow/revision.rb
Class Method Summary collapse
Instance Method Summary collapse
- #copy {|revision| ... } ⇒ Object
- #created_with ⇒ Object
- #creator ⇒ Object
- #frozen? ⇒ Boolean
- #pages ⇒ Object
- #published? ⇒ Boolean
Class Method Details
.depublish_all ⇒ Object
81 82 83 |
# File 'app/models/pageflow/revision.rb', line 81 def self.depublish_all published.update_all(:published_until => Time.now) end |
Instance Method Details
#copy {|revision| ... } ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'app/models/pageflow/revision.rb', line 65 def copy(&block) revision = dup yield(revision) if block_given? chapters.each do |chapter| chapter.copy_to(revision) end file_usages.each do |file_usage| file_usage.copy_to(revision) end revision.save! revision end |
#created_with ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 |
# File 'app/models/pageflow/revision.rb', line 53 def created_with if published_at :publish elsif snapshot_type == 'auto' :auto elsif snapshot_type == 'user' :user else :restore end end |
#creator ⇒ Object
36 37 38 |
# File 'app/models/pageflow/revision.rb', line 36 def creator super || NullUser.new end |
#frozen? ⇒ Boolean
49 50 51 |
# File 'app/models/pageflow/revision.rb', line 49 def frozen? frozen_at.present? end |
#pages ⇒ Object
40 41 42 |
# File 'app/models/pageflow/revision.rb', line 40 def pages super.tap { |p| p.first.is_first = true if p.present? } end |
#published? ⇒ Boolean
44 45 46 47 |
# File 'app/models/pageflow/revision.rb', line 44 def published? (published_at.present? && Time.now >= published_at) && (published_until.blank? || Time.now < published_until) end |