aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorlambda <pleromagit@rogerbraun.net>2018-11-06 15:09:52 +0000
committerlambda <pleromagit@rogerbraun.net>2018-11-06 15:09:52 +0000
commit25512aa29cae22b73ee45a22954693c1a130ea3e (patch)
treeef0f639fe4c57cf9160d0e69e2918461ecf9a008 /lib
parent0f6c4635a64e89cc72921456e6cfa3d488d894bf (diff)
parent7d328c658da69ec236d10fa89d23f2a6886b3205 (diff)
downloadpleroma-25512aa29cae22b73ee45a22954693c1a130ea3e.tar.gz
Merge branch 'remove-config-agent' into 'develop'
Get rid of Pleroma.Config in favor of Application See merge request pleroma/pleroma!428
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/application.ex1
-rw-r--r--lib/pleroma/config.ex25
-rw-r--r--lib/pleroma/web/activity_pub/activity_pub_controller.ex3
-rw-r--r--lib/pleroma/web/federator/federator.ex3
4 files changed, 20 insertions, 12 deletions
diff --git a/lib/pleroma/application.ex b/lib/pleroma/application.ex
index d4bc8f63d..eedad7675 100644
--- a/lib/pleroma/application.ex
+++ b/lib/pleroma/application.ex
@@ -10,7 +10,6 @@ defmodule Pleroma.Application do
# Define workers and child supervisors to be supervised
children =
[
- worker(Pleroma.Config, [Application.get_all_env(:pleroma)]),
# Start the Ecto repository
supervisor(Pleroma.Repo, []),
worker(Pleroma.Emoji, []),
diff --git a/lib/pleroma/config.ex b/lib/pleroma/config.ex
index 510d8d498..fc5338591 100644
--- a/lib/pleroma/config.ex
+++ b/lib/pleroma/config.ex
@@ -1,15 +1,26 @@
defmodule Pleroma.Config do
- use Agent
+ def get([key]), do: get(key)
- def start_link(initial) do
- Agent.start_link(fn -> initial end, name: __MODULE__)
+ def get([parent_key | keys]) do
+ Application.get_env(:pleroma, parent_key)
+ |> get_in(keys)
end
- def get(path) do
- Agent.get(__MODULE__, Kernel, :get_in, [path])
+ def get(key) do
+ Application.get_env(:pleroma, key)
end
- def put(path, value) do
- Agent.update(__MODULE__, Kernel, :put_in, [path, value])
+ def put([key], value), do: put(key, value)
+
+ def put([parent_key | keys], value) do
+ parent =
+ Application.get_env(:pleroma, parent_key)
+ |> put_in(keys, value)
+
+ Application.put_env(:pleroma, parent_key, parent)
+ end
+
+ def put(key, value) do
+ Application.put_env(:pleroma, key, value)
end
end
diff --git a/lib/pleroma/web/activity_pub/activity_pub_controller.ex b/lib/pleroma/web/activity_pub/activity_pub_controller.ex
index 531e98237..47937beef 100644
--- a/lib/pleroma/web/activity_pub/activity_pub_controller.ex
+++ b/lib/pleroma/web/activity_pub/activity_pub_controller.ex
@@ -6,7 +6,6 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
alias Pleroma.Web.ActivityPub.Relay
alias Pleroma.Web.ActivityPub.Utils
alias Pleroma.Web.Federator
- alias Pleroma.Config
require Logger
@@ -15,7 +14,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPubController do
plug(:relay_active? when action in [:relay])
def relay_active?(conn, _) do
- if Config.get([:instance, :allow_relay]) do
+ if Keyword.get(Application.get_env(:pleroma, :instance), :allow_relay) do
conn
else
conn
diff --git a/lib/pleroma/web/federator/federator.ex b/lib/pleroma/web/federator/federator.ex
index 9ea2507a1..01c2c89c3 100644
--- a/lib/pleroma/web/federator/federator.ex
+++ b/lib/pleroma/web/federator/federator.ex
@@ -7,7 +7,6 @@ defmodule Pleroma.Web.Federator do
alias Pleroma.Web.ActivityPub.Relay
alias Pleroma.Web.ActivityPub.Transmogrifier
alias Pleroma.Web.ActivityPub.Utils
- alias Pleroma.Config
require Logger
@websub Application.get_env(:pleroma, :websub)
@@ -72,7 +71,7 @@ defmodule Pleroma.Web.Federator do
Logger.info(fn -> "Sending #{activity.data["id"]} out via Salmon" end)
Pleroma.Web.Salmon.publish(actor, activity)
- if Config.get([:instance, :allow_relay]) do
+ if Keyword.get(Application.get_env(:pleroma, :instance), :allow_relay) do
Logger.info(fn -> "Relaying #{activity.data["id"]} out" end)
Relay.publish(activity)
end