2024-05-28 15:30:41 +12:00
|
|
|
defmodule Igniter.Args do
|
2024-06-01 14:09:38 +12:00
|
|
|
def validate_nth_present_and_underscored(igniter, argv, n, option, message) do
|
|
|
|
value = Enum.at(argv, n)
|
|
|
|
|
|
|
|
cond do
|
|
|
|
!value ->
|
|
|
|
{:error, Igniter.add_issue(igniter, message)}
|
|
|
|
|
|
|
|
not (Macro.underscore(value) == value) ->
|
|
|
|
{:error,
|
|
|
|
Igniter.add_issue(
|
|
|
|
igniter,
|
|
|
|
"Must provide the #{option} in snake_case. Did you mean `#{Macro.underscore(value)}`"
|
|
|
|
)}
|
|
|
|
|
|
|
|
true ->
|
|
|
|
{:ok, value}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2024-05-28 15:30:41 +12:00
|
|
|
def validate_present_and_underscored(igniter, opts, option, message) do
|
|
|
|
cond do
|
|
|
|
!opts[option] ->
|
|
|
|
{:error, Igniter.add_issue(igniter, message)}
|
|
|
|
|
|
|
|
not (Macro.underscore(opts[option]) == opts[option]) ->
|
|
|
|
{:error,
|
|
|
|
Igniter.add_issue(
|
|
|
|
igniter,
|
|
|
|
"Must provide the #{option} in snake_case. Did you mean `#{Macro.underscore(opts[:option])}`"
|
|
|
|
)}
|
|
|
|
|
|
|
|
true ->
|
|
|
|
{:ok, opts[option]}
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|