Class: Decidim::Blogs::Post

Inherits:
ApplicationRecord show all
Includes:
Authorable, Comments::CommentableWithComponent, Endorsable, Followable, HasAttachmentCollections, HasAttachments, HasComponent, Resourceable, Searchable, TranslatableResource, Loggable, Traceable
Defined in:
app/models/decidim/blogs/post.rb

Overview

The data store for a Blog in the Decidim::Blogs component. It stores a title, description and any other useful information to render a blog.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.log_presenter_class_for(_log) ⇒ Object



42
43
44
# File 'app/models/decidim/blogs/post.rb', line 42

def self.log_presenter_class_for(_log)
  Decidim::Blogs::AdminLog::PostPresenter
end

Instance Method Details

#allow_resource_permissions?Boolean

Public: Overrides the ‘allow_resource_permissions?` Resourceable concern method.

Returns:

  • (Boolean)


57
58
59
# File 'app/models/decidim/blogs/post.rb', line 57

def allow_resource_permissions?
  true
end

#attachment_contextObject



73
74
75
# File 'app/models/decidim/blogs/post.rb', line 73

def attachment_context
  :admin
end

#comments_have_alignment?Boolean

Public: Overrides the ‘comments_have_alignment?` Commentable concern method.

Returns:

  • (Boolean)


47
48
49
# File 'app/models/decidim/blogs/post.rb', line 47

def comments_have_alignment?
  true
end

#comments_have_votes?Boolean

Public: Overrides the ‘comments_have_votes?` Commentable concern method.

Returns:

  • (Boolean)


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

def comments_have_votes?
  true
end

#official?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'app/models/decidim/blogs/post.rb', line 61

def official?
  author.is_a?(Decidim::Organization)
end

#user_group?Boolean

Returns:

  • (Boolean)


65
66
67
# File 'app/models/decidim/blogs/post.rb', line 65

def user_group?
  author.is_a?(Decidim::UserGroup)
end

#users_to_notify_on_comment_createdObject



69
70
71
# File 'app/models/decidim/blogs/post.rb', line 69

def users_to_notify_on_comment_created
  followers
end

#visible?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'app/models/decidim/blogs/post.rb', line 38

def visible?
  participatory_space.try(:visible?) && component.try(:published?)
end