discourse/app/serializers/category_detailed_serializer.rb

48 lines
992 B
Ruby

class CategoryDetailedSerializer < ApplicationSerializer
attributes :id,
:name,
:color,
:text_color,
:slug,
:topic_count,
:topics_week,
:topics_month,
:topics_year,
:description,
:description_excerpt,
:is_uncategorized
has_many :featured_users, serializer: BasicUserSerializer
has_many :displayable_topics, serializer: ListableTopicSerializer, embed: :objects, key: :topics
def topics_week
object.topics_week || 0
end
def topics_month
object.topics_month || 0
end
def topics_year
object.topics_year || 0
end
def is_uncategorized
name == SiteSetting.uncategorized_name
end
def include_is_uncategorized?
is_uncategorized
end
def include_displayable_topics?
return displayable_topics.present?
end
def description_excerpt
PrettyText.excerpt(description,300) if description
end
end