Current section
Files
Jump to
Current section
Files
lib/helpers/keys.ex
defmodule Helpers.Keys do
@moduledoc false
def make_key(k, :keep), do: k
def make_key(k, :as_string), do: to_string(k)
def make_key(k, :as_atom) when not is_atom(k), do: String.to_atom(k)
def make_key(k, :as_atom), do: k
def make_key(prefix, delimeter, suffix, :as_string), do: prefix <> delimeter <> suffix
def make_key(prefix, delimeter, suffix, format) do
{d, f} =
if is_atom(prefix) || format == :as_atom do
{"_", :as_atom}
else
{delimeter, :as_string}
end
[prefix, suffix]
|> Enum.join(d)
|> make_key(f)
end
end