Class: Pulitzer::CreateSingletonPost

Inherits:
Object
  • Object
show all
Defined in:
app/interactions/pulitzer/create_singleton_post.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(post_type_version) ⇒ CreateSingletonPost

Returns a new instance of CreateSingletonPost.



4
5
6
7
# File 'app/interactions/pulitzer/create_singleton_post.rb', line 4

def initialize(post_type_version)
  self.post_type_version = post_type_version
  self.title = post_type_version.name
end

Instance Attribute Details

#post_type_versionObject

Returns the value of attribute post_type_version.



2
3
4
# File 'app/interactions/pulitzer/create_singleton_post.rb', line 2

def post_type_version
  @post_type_version
end

#titleObject

Returns the value of attribute title.



2
3
4
# File 'app/interactions/pulitzer/create_singleton_post.rb', line 2

def title
  @title
end

Instance Method Details

#callObject



9
10
11
12
13
14
15
# File 'app/interactions/pulitzer/create_singleton_post.rb', line 9

def call
  if post_type_version.singular? && !post_type_version.posts.any?
    singleton_post = post_type_version.posts.create(title: title)
    singleton_post.create_preview_version
    Pulitzer::CreatePostContentElements.new(singleton_post).call
  end
end