about summary refs log tree commit diff
path: root/app/serializers/rest/tag_serializer.rb
blob: 7801e77d1fe6dee98f91437dcf15983f62453183 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# frozen_string_literal: true

class REST::TagSerializer < ActiveModel::Serializer
  include RoutingHelper

  attributes :name, :url, :history

  attribute :following, if: :current_user?

  def url
    tag_url(object)
  end

  def name
    object.display_name
  end

  def following
    if instance_options && instance_options[:relationships]
      instance_options[:relationships].following_map[object.id] || false
    else
      TagFollow.where(tag_id: object.id, account_id: current_user.account_id).exists?
    end
  end

  def current_user?
    !current_user.nil?
  end
end