Class: Pulitzer::Post

Inherits:
ActiveRecord::Base
  • Object
show all
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

Instance Method Summary collapse

Instance Attribute Details

#new_preview_versionObject

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_versionObject



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_versionObject



48
49
50
# File 'app/models/pulitzer/post.rb', line 48

def create_preview_version
  versions.create(status: :preview)
end

#create_processing_versionObject



52
53
54
# File 'app/models/pulitzer/post.rb', line 52

def create_processing_version
  versions.create(status: :processing)
end

#next_versionObject



44
45
46
# File 'app/models/pulitzer/post.rb', line 44

def next_version
  preview_version || processing_version || processing_failed_version
end

#preview_versionObject



32
33
34
# File 'app/models/pulitzer/post.rb', line 32

def preview_version
	versions.preview.last
end

#processing_failed_versionObject



40
41
42
# File 'app/models/pulitzer/post.rb', line 40

def processing_failed_version
  versions.processing_failed.last
end

#processing_versionObject



36
37
38
# File 'app/models/pulitzer/post.rb', line 36

def processing_version
  versions.processing.last
end

#serializeObject



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

Returns:

  • (Boolean)


24
25
26
# File 'app/models/pulitzer/post.rb', line 24

def should_generate_new_friendly_id?
  new_record? || title_changed?
end