lib/utils/string_content.ex
defmodule ScaffoldCa.Utils.StringContent do
def replace([], content) do
content
end
def replace([%{name: variable_name, value: value} | tail], content) do
replace(tail, String.replace(content, variable_name, value))
end
def format_name(name) do
case String.match?(name, ~r/^([a-zA-Z0-9]+_[a-zA-Z0-9]+){1,}$/) do
true ->
{
:ok,
name
|> String.downcase(),
Macro.camelize(name)
}
_ ->
{:error, :invalid_name, name}
end
end
end