Current section

Files

Jump to
rabbit_mq lib core name.ex
Raw

lib/core/name.ex

defmodule Core.Name do
@spec random_id() :: String.t()
def random_id, do: Nanoid.generate_non_secure(12)
def child_spec_id, do: random_id() |> String.to_atom()
@spec unique_worker_name(String.t()) :: atom()
def unique_worker_name(module_name) when is_binary(module_name) do
module_name
|> String.split("/")
|> List.last()
|> Kernel.<>("_worker_")
|> Kernel.<>(random_id())
|> String.to_atom()
end
@spec module_to_snake_case(atom()) :: String.t()
def module_to_snake_case(module) do
module |> Macro.underscore()
end
end