Class: Thredded::Post

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
ContentModerationState, PostCommon
Defined in:
app/models/thredded/post.rb

Instance Method Summary collapse

Methods included from ContentModerationState

#moderation_state_visible_to_all?, #moderation_state_visible_to_user?

Methods included from PostCommon

#avatar_url, #calculate_page, #filtered_content, #first_post_in_topic?, #mark_as_unread, #previous_post, #readers_from_user_names

Instance Method Details

#page(per_page: self.class.default_per_page, user:) ⇒ Object

Parameters:

  • per_page (Integer) (defaults to: self.class.default_per_page)
  • user (Thredded.user_class)


42
43
44
45
# File 'app/models/thredded/post.rb', line 42

def page(per_page: self.class.default_per_page, user:)
  readable_posts = PostPolicy::Scope.new(user, postable.posts).resolve
  calculate_page(readable_posts, per_page)
end

#private_topic_post?Boolean

Returns:

  • (Boolean)


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

def private_topic_post?
  false
end

#readersActiveRecord::Relation<Thredded.user_class>

Returns users that can read this post.

Returns:



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

def readers
  Thredded.user_class.thredded_messageboards_readers([messageboard])
end