--- /dev/null
+defmodule Pleroma.Config do
+ use Agent
+
+ def start_link(initial) do
+ Agent.start_link(fn -> initial end, name: __MODULE__)
+ end
+
+ def get(path) do
+ Agent.get(__MODULE__, Kernel, :get_in, [path])
+ end
+
+ def put(path, value) do
+ Agent.update(__MODULE__, Kernel, :put_in, [path, value])
+ end
+end
--- /dev/null
+defmodule Pleroma.ConfigTest do
+ use Pleroma.DataCase
+ alias Pleroma.Config
+
+ test "get returns the item at the path if there is one" do
+ Config.put([:instance, :name], "Plemora")
+ assert Config.get([:instance, :name]) == "Plemora"
+ assert Config.get([:unknown]) == nil
+ end
+end