mirror of
https://github.com/ash-project/ash.git
synced 2024-09-19 13:03:02 +12:00
chore: require name for ash.codegen
This commit is contained in:
parent
19d18c5fcc
commit
26160e446b
2 changed files with 33 additions and 3 deletions
|
@ -1,9 +1,6 @@
|
|||
defmodule Ash.Resource.Transformers.CreateJoinRelationship do
|
||||
@moduledoc """
|
||||
Creates an automatically named `has_many` relationship for each many_to_many.
|
||||
|
||||
This will likely not be around for long, as our logic around many to many relationships
|
||||
will update soon.
|
||||
"""
|
||||
use Spark.Dsl.Transformer
|
||||
|
||||
|
|
|
@ -6,6 +6,39 @@ defmodule Mix.Tasks.Ash.Codegen do
|
|||
|
||||
@shortdoc "Runs all codegen tasks for any extension on any resource/api in your application."
|
||||
def run(argv) do
|
||||
{name, argv} =
|
||||
case argv do
|
||||
["-" <> _ | _] ->
|
||||
{nil, argv}
|
||||
|
||||
[first | rest] ->
|
||||
{first, rest}
|
||||
|
||||
[] ->
|
||||
{nil, []}
|
||||
end
|
||||
|
||||
{opts, _} =
|
||||
OptionParser.parse!(argv,
|
||||
strict: [
|
||||
name: :string,
|
||||
no_format: :boolean,
|
||||
dry_run: :boolean,
|
||||
check: :boolean,
|
||||
drop_columns: :boolean
|
||||
]
|
||||
)
|
||||
|
||||
if !opts[:name] && !opts[:dry_run] && !opts[:check] do
|
||||
raise ArgumentError, """
|
||||
Name must be provided when running `ash.codegen`, unless `--dry-run` or `--check` is also provided.
|
||||
|
||||
Please provide a name. for example:
|
||||
|
||||
mix ash.codegen add_feature_for_reticulating_splines #{Enum.join(argv, " ")}
|
||||
"""
|
||||
end
|
||||
|
||||
argv
|
||||
|> Ash.Mix.Tasks.Helpers.extensions!()
|
||||
|> Enum.map(fn extension ->
|
||||
|
|
Loading…
Reference in a new issue