summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-05-22 12:38:23 -0500
committerAlex Gleason <alex@alexgleason.me>2021-05-22 12:38:23 -0500
commit410ff6b07b1412620f9510fb29e8c45b4ad29dd3 (patch)
tree8fdc00eaf850f77d06e76904443a9195759922e7
parent40709f302e6c8cef86a58dd7a1bb1f2f9a6763e0 (diff)
Cycles: create Pleroma.Project to hold version info
Reduce cycles on lib/pleroma/application.ex
-rw-r--r--lib/pleroma/application.ex10
-rw-r--r--lib/pleroma/project.ex14
-rw-r--r--lib/pleroma/web/mastodon_api/views/instance_view.ex2
-rw-r--r--lib/pleroma/web/nodeinfo/nodeinfo.ex6
4 files changed, 19 insertions, 13 deletions
diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex
index e67646a9a..29ac34826 100644
--- a/lib/pleroma/application.ex
+++ b/lib/pleroma/application.ex
@@ -11,22 +11,14 @@ defmodule Pleroma.Application do
require Logger
- @name Mix.Project.config()[:name]
- @version Mix.Project.config()[:version]
- @repository Mix.Project.config()[:source_url]
@mix_env Mix.env()
- def name, do: @name
- def version, do: @version
- def named_version, do: @name <> " " <> @version
- def repository, do: @repository
-
def user_agent do
if Process.whereis(Pleroma.Web.Endpoint) do
case Config.get([:http, :user_agent], :default) do
:default ->
info = "#{Pleroma.Web.Endpoint.url()} <#{Config.get([:instance, :email], "")}>"
- named_version() <> "; " <> info
+ Pleroma.Project.named_version() <> "; " <> info
custom ->
custom
diff --git a/lib/pleroma/project.ex b/lib/pleroma/project.ex
new file mode 100644
index 000000000..863d9b3f8
--- /dev/null
+++ b/lib/pleroma/project.ex
@@ -0,0 +1,14 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.Project do
+ @name Mix.Project.config()[:name]
+ @version Mix.Project.config()[:version]
+ @repository Mix.Project.config()[:source_url]
+
+ def name, do: @name
+ def version, do: @version
+ def named_version, do: @name <> " " <> @version
+ def repository, do: @repository
+end
diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex
index 510cac236..edb1ab5d3 100644
--- a/lib/pleroma/web/mastodon_api/views/instance_view.ex
+++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex
@@ -17,7 +17,7 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do
uri: Pleroma.Web.Endpoint.url(),
title: Keyword.get(instance, :name),
description: Keyword.get(instance, :description),
- version: "#{@mastodon_api_level} (compatible; #{Pleroma.Application.named_version()})",
+ version: "#{@mastodon_api_level} (compatible; #{Pleroma.Project.named_version()})",
email: Keyword.get(instance, :email),
urls: %{
streaming_api: Pleroma.Web.Endpoint.websocket_url()
diff --git a/lib/pleroma/web/nodeinfo/nodeinfo.ex b/lib/pleroma/web/nodeinfo/nodeinfo.ex
index 6a0112d2a..f74237840 100644
--- a/lib/pleroma/web/nodeinfo/nodeinfo.ex
+++ b/lib/pleroma/web/nodeinfo/nodeinfo.ex
@@ -24,8 +24,8 @@ defmodule Pleroma.Web.Nodeinfo.Nodeinfo do
%{
version: "2.0",
software: %{
- name: Pleroma.Application.name() |> String.downcase(),
- version: Pleroma.Application.version()
+ name: Pleroma.Project.name() |> String.downcase(),
+ version: Pleroma.Project.version()
},
protocols: Publisher.gather_nodeinfo_protocol_names(),
services: %{
@@ -78,7 +78,7 @@ defmodule Pleroma.Web.Nodeinfo.Nodeinfo do
updated_software =
raw_response
|> Map.get(:software)
- |> Map.put(:repository, Pleroma.Application.repository())
+ |> Map.put(:repository, Pleroma.Project.repository())
raw_response
|> Map.put(:software, updated_software)