using Pleroma.Config instead of ets

This commit is contained in:
Alexander Strizhakov 2020-03-11 17:22:50 +03:00
parent 193d67cde5
commit fce090c1de
No known key found for this signature in database
GPG key ID: 022896A53AEF1381
2 changed files with 8 additions and 13 deletions

View file

@ -31,7 +31,7 @@ defmodule Pleroma.Application do
# See http://elixir-lang.org/docs/stable/elixir/Application.html
# for more information on OTP Applications
def start(_type, _args) do
Pleroma.Config.Holder.to_ets()
Pleroma.Config.Holder.save_default()
Pleroma.HTML.compile_scrubbers()
Pleroma.Config.DeprecationWarnings.warn()
Pleroma.Plugs.HTTPSecurityPlug.warn_if_disabled()

View file

@ -5,10 +5,8 @@
defmodule Pleroma.Config.Holder do
@config Pleroma.Config.Loader.default_config()
@spec to_ets() :: true
def to_ets do
:ets.new(:default_config, [:named_table, :protected])
@spec save_default() :: :ok
def save_default do
default_config =
if System.get_env("RELEASE_NAME") do
release_config =
@ -21,20 +19,17 @@ defmodule Pleroma.Config.Holder do
@config
end
:ets.insert(:default_config, {:config, default_config})
Pleroma.Config.put(:default_config, default_config)
end
@spec default_config() :: keyword()
def default_config, do: from_ets()
def default_config, do: get_default()
@spec default_config(atom()) :: keyword()
def default_config(group), do: Keyword.get(from_ets(), group)
def default_config(group), do: Keyword.get(get_default(), group)
@spec default_config(atom(), atom()) :: keyword()
def default_config(group, key), do: get_in(from_ets(), [group, key])
def default_config(group, key), do: get_in(get_default(), [group, key])
defp from_ets do
[{:config, default_config}] = :ets.lookup(:default_config, :config)
default_config
end
defp get_default, do: Pleroma.Config.get(:default_config)
end