igniter/lib/args.ex

38 lines
962 B
Elixir
Raw Normal View History

2024-05-28 15:30:41 +12:00
defmodule Igniter.Args do
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