aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/admin_api/config.ex
diff options
context:
space:
mode:
authorMaksim Pechnikov <parallel588@gmail.com>2019-09-25 12:24:12 +0300
committerMaksim Pechnikov <parallel588@gmail.com>2019-09-25 12:24:12 +0300
commit1a858134edabfe9a85e07fb801b9ed41649ba08a (patch)
tree9acff5da3ff7a09f5b6f1e33ee9ac225471b4da6 /lib/pleroma/web/admin_api/config.ex
parent8c6cdff3cc48101711d0f09852866311780d97db (diff)
parent29dd8ab9c0ef28f9649fe0a5b29a0bbcfb4c0965 (diff)
downloadpleroma-1a858134edabfe9a85e07fb801b9ed41649ba08a.tar.gz
Merge branch 'develop' into issue/1218
Diffstat (limited to 'lib/pleroma/web/admin_api/config.ex')
-rw-r--r--lib/pleroma/web/admin_api/config.ex15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/pleroma/web/admin_api/config.ex b/lib/pleroma/web/admin_api/config.ex
index a10cc779b..1917a5580 100644
--- a/lib/pleroma/web/admin_api/config.ex
+++ b/lib/pleroma/web/admin_api/config.ex
@@ -90,6 +90,8 @@ defmodule Pleroma.Web.AdminAPI.Config do
for v <- entity, into: [], do: do_convert(v)
end
+ defp do_convert(%Regex{} = entity), do: inspect(entity)
+
defp do_convert(entity) when is_map(entity) do
for {k, v} <- entity, into: %{}, do: {do_convert(k), do_convert(v)}
end
@@ -122,7 +124,7 @@ defmodule Pleroma.Web.AdminAPI.Config do
def transform(entity), do: :erlang.term_to_binary(entity)
- defp do_transform(%Regex{} = entity) when is_map(entity), do: entity
+ defp do_transform(%Regex{} = entity), do: entity
defp do_transform(%{"tuple" => [":dispatch", [entity]]}) do
{dispatch_settings, []} = do_eval(entity)
@@ -154,8 +156,15 @@ defmodule Pleroma.Web.AdminAPI.Config do
defp do_transform(entity), do: entity
defp do_transform_string("~r/" <> pattern) do
- pattern = String.trim_trailing(pattern, "/")
- ~r/#{pattern}/
+ modificator = String.split(pattern, "/") |> List.last()
+ pattern = String.trim_trailing(pattern, "/" <> modificator)
+
+ case modificator do
+ "" -> ~r/#{pattern}/
+ "i" -> ~r/#{pattern}/i
+ "u" -> ~r/#{pattern}/u
+ "s" -> ~r/#{pattern}/s
+ end
end
defp do_transform_string(":" <> atom), do: String.to_atom(atom)