Class: Pulitzer::Post
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Pulitzer::Post
- Extended by:
- FriendlyId
- Includes:
- ForeignOffice::Broadcaster
- Defined in:
- app/models/pulitzer/post.rb
Constant Summary collapse
- TAG_MODELS =
["Pulitzer::Tag"] + Pulitzer.tagging_models
Instance Attribute Summary collapse
-
#new_preview_version ⇒ Object
Returns the value of attribute new_preview_version.
Instance Method Summary collapse
- #active_version ⇒ Object
- #content_element(label) ⇒ Object
- #create_preview_version ⇒ Object
- #create_processing_version ⇒ Object
- #next_version ⇒ Object
- #preview_version ⇒ Object
- #processing_failed_version ⇒ Object
- #processing_version ⇒ Object
- #serialize ⇒ Object
- #should_generate_new_friendly_id? ⇒ Boolean
Instance Attribute Details
#new_preview_version ⇒ Object
Returns the value of attribute new_preview_version.
12 13 14 |
# File 'app/models/pulitzer/post.rb', line 12 def new_preview_version @new_preview_version end |
Instance Method Details
#active_version ⇒ Object
28 29 30 |
# File 'app/models/pulitzer/post.rb', line 28 def active_version versions.active.last end |
#content_element(label) ⇒ Object
18 19 20 21 22 |
# File 'app/models/pulitzer/post.rb', line 18 def content_element(label) if content_elements self.content_elements.find_by(label: label) end end |
#create_preview_version ⇒ Object
48 49 50 |
# File 'app/models/pulitzer/post.rb', line 48 def create_preview_version versions.create(status: :preview) end |
#create_processing_version ⇒ Object
52 53 54 |
# File 'app/models/pulitzer/post.rb', line 52 def create_processing_version versions.create(status: :processing) end |
#next_version ⇒ Object
44 45 46 |
# File 'app/models/pulitzer/post.rb', line 44 def next_version preview_version || processing_version || processing_failed_version end |
#preview_version ⇒ Object
32 33 34 |
# File 'app/models/pulitzer/post.rb', line 32 def preview_version versions.preview.last end |
#processing_failed_version ⇒ Object
40 41 42 |
# File 'app/models/pulitzer/post.rb', line 40 def processing_failed_version versions.processing_failed.last end |
#processing_version ⇒ Object
36 37 38 |
# File 'app/models/pulitzer/post.rb', line 36 def processing_version versions.processing.last end |
#serialize ⇒ Object
56 57 58 59 |
# File 'app/models/pulitzer/post.rb', line 56 def serialize self.attributes.merge \ new_preview_version: self.new_preview_version end |
#should_generate_new_friendly_id? ⇒ Boolean
24 25 26 |
# File 'app/models/pulitzer/post.rb', line 24 def should_generate_new_friendly_id? new_record? || title_changed? end |