2013-02-06 03:16:51 +08:00
|
|
|
class TopicListSerializer < ApplicationSerializer
|
2013-02-07 23:45:24 +08:00
|
|
|
|
2013-04-03 04:52:51 +08:00
|
|
|
attributes :can_create_topic,
|
|
|
|
:more_topics_url,
|
|
|
|
:draft,
|
|
|
|
:draft_key,
|
2014-08-29 02:34:31 +08:00
|
|
|
:draft_sequence,
|
2014-12-16 00:54:26 +08:00
|
|
|
:for_period,
|
|
|
|
:per_page
|
2013-02-06 03:16:51 +08:00
|
|
|
|
|
|
|
has_many :topics, serializer: TopicListItemSerializer, embed: :objects
|
|
|
|
|
|
|
|
def can_create_topic
|
2013-11-20 03:08:45 +08:00
|
|
|
scope.can_create?(Topic)
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|
|
|
|
|
2014-08-29 02:34:31 +08:00
|
|
|
def include_for_period?
|
|
|
|
for_period.present?
|
|
|
|
end
|
|
|
|
|
2013-02-06 03:16:51 +08:00
|
|
|
def include_more_topics_url?
|
2014-12-16 00:54:26 +08:00
|
|
|
object.more_topics_url.present? && (object.topics.size == object.per_page)
|
2013-02-06 03:16:51 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
end
|