Add basic configuration management module.
This commit is contained in:
parent
27a06bd440
commit
9b77030d3c
15
lib/pleroma/config.ex
Normal file
15
lib/pleroma/config.ex
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
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
|
10
test/config_test.exs
Normal file
10
test/config_test.exs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
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
|
Loading…
Reference in New Issue
Block a user