Class: TopicListItemSerializer
Constant Summary
TopicTagsMixin::DESCRIPTION_LIMIT
Instance Method Summary
collapse
#include_tags?, included, #tags, #tags_descriptions, #topic
#bookmarked, #bumped, #excerpt, #has_user_data, #highest_post_number, #image_url, #include_excerpt?, #include_is_warning?, #include_last_poster?, #include_notification_level?, #include_thumbnails?, #include_unicode_title?, #include_unread_by_group_member?, #include_visibility_reason_id?, #is_warning, #last_read_post_number, #liked, #new_posts, #notification_level, #pinned, #seen, #thumbnails, #unicode_title, #unpinned, #unread, #unread_by_group_member, #unread_posts, #unseen
expire_cache_fragment!, fragment_cache
#include!
Instance Method Details
#allowed_user_count ⇒ Object
88
89
90
91
|
# File 'app/serializers/topic_list_item_serializer.rb', line 88
def allowed_user_count
object.allowed_users.length
end
|
#category_id ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'app/serializers/topic_list_item_serializer.rb', line 39
def category_id
if object.includes_destination_category && object.shared_draft
return object.shared_draft.category_id
end
object.category_id
end
|
#include_allowed_user_count? ⇒ Boolean
93
94
95
|
# File 'app/serializers/topic_list_item_serializer.rb', line 93
def include_allowed_user_count?
object.private_message?
end
|
#include_featured_link? ⇒ Boolean
80
81
82
|
# File 'app/serializers/topic_list_item_serializer.rb', line 80
def include_featured_link?
SiteSetting.topic_featured_link_enabled
end
|
#include_featured_link_root_domain? ⇒ Boolean
84
85
86
|
# File 'app/serializers/topic_list_item_serializer.rb', line 84
def include_featured_link_root_domain?
SiteSetting.topic_featured_link_enabled && object.featured_link.present?
end
|
#include_liked_post_numbers? ⇒ Boolean
56
57
58
|
# File 'app/serializers/topic_list_item_serializer.rb', line 56
def include_liked_post_numbers?
include_post_action? :like
end
|
#include_op_like_count? ⇒ Boolean
73
74
75
76
77
78
|
# File 'app/serializers/topic_list_item_serializer.rb', line 73
def include_op_like_count?
object.association(:first_post).loaded?
end
|
#include_participant_groups? ⇒ Boolean
23
24
25
|
# File 'app/serializers/topic_list_item_serializer.rb', line 23
def include_participant_groups?
object.private_message?
end
|
#include_participants? ⇒ Boolean
69
70
71
|
# File 'app/serializers/topic_list_item_serializer.rb', line 69
def include_participants?
object.private_message?
end
|
#include_post_action?(action) ⇒ Boolean
60
61
62
63
|
# File 'app/serializers/topic_list_item_serializer.rb', line 60
def include_post_action?(action)
object.user_data && object.user_data.post_action_data &&
object.user_data.post_action_data.key?(PostActionType.types[action])
end
|
#last_poster_username ⇒ Object
35
36
37
|
# File 'app/serializers/topic_list_item_serializer.rb', line 35
def last_poster_username
posters.find { |poster| poster.user.id == object.last_post_user_id }.try(:user).try(:username)
end
|
#liked_post_numbers ⇒ Object
65
66
67
|
# File 'app/serializers/topic_list_item_serializer.rb', line 65
def liked_post_numbers
object.user_data.post_action_data[PostActionType.types[:like]]
end
|
#op_like_count ⇒ Object
31
32
33
|
# File 'app/serializers/topic_list_item_serializer.rb', line 31
def op_like_count
object.first_post && object.first_post.like_count
end
|
#participant_groups ⇒ Object
52
53
54
|
# File 'app/serializers/topic_list_item_serializer.rb', line 52
def participant_groups
object.participant_groups_summary || []
end
|
#participants ⇒ Object
48
49
50
|
# File 'app/serializers/topic_list_item_serializer.rb', line 48
def participants
object.participants_summary || []
end
|
#posters ⇒ Object
27
28
29
|
# File 'app/serializers/topic_list_item_serializer.rb', line 27
def posters
object.posters || object.posters_summary || []
end
|