# frozen_string_literal: true class NodeInfo::Serializer < ActiveModel::Serializer include RoutingHelper attributes :version, :software, :protocols, :usage def version '2.0' end def software { name: 'mastodon', version: Mastodon::Version.to_s } end def services { outbound: [], inbound: [] } end def protocols %w(activitypub) end def usage { users: { total: instance_presenter.user_count, active_month: instance_presenter.active_user_count(4), active_halfyear: instance_presenter.active_user_count(24), }, local_posts: instance_presenter.status_count, } end private def instance_presenter @instance_presenter ||= InstancePresenter.new end end