Packages
dagger
0.21.3
0.21.7
0.21.6
0.21.5
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.8
0.20.7
0.20.6
0.20.5
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.11
0.19.10
0.19.9
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.19
0.18.18
0.18.17
0.18.16
0.18.15
0.18.14
0.18.13
0.18.12
0.18.11
0.18.10
0.18.9
0.18.8
0.18.7
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.0
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.2
0.0.0
retired
Dagger SDK for Elixir
Current section
Files
Jump to
Current section
Files
lib/dagger/gen/generator.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.Generator do
@moduledoc """
Dagger.Generator
"""
use Dagger.Core.Base, kind: :object, name: "Generator"
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc """
The generated changeset from the last run
"""
@spec changes(t()) :: Dagger.Changeset.t()
def changes(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("changes")
%Dagger.Changeset{
query_builder: query_builder,
client: generator.client
}
end
@doc """
Whether the generator complete
"""
@spec completed(t()) :: {:ok, boolean()} | {:error, term()}
def completed(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("completed")
Client.execute(generator.client, query_builder)
end
@doc """
Return the description of the generator
"""
@spec description(t()) :: {:ok, String.t()} | {:error, term()}
def description(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("description")
Client.execute(generator.client, query_builder)
end
@doc """
A unique identifier for this Generator.
"""
@spec id(t()) :: {:ok, String.t()} | {:error, term()}
def id(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("id")
Client.execute(generator.client, query_builder)
end
@doc """
Whether changeset from the last generator run is empty or not
"""
@spec empty?(t()) :: {:ok, boolean()} | {:error, term()}
def empty?(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("isEmpty")
Client.execute(generator.client, query_builder)
end
@doc """
Return the fully qualified name of the generator
"""
@spec name(t()) :: {:ok, String.t()} | {:error, term()}
def name(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("name")
Client.execute(generator.client, query_builder)
end
@doc """
The original module in which the generator has been defined
"""
@spec original_module(t()) :: Dagger.Module.t()
def original_module(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("originalModule")
%Dagger.Module{
query_builder: query_builder,
client: generator.client
}
end
@doc """
The path of the generator within its module
"""
@spec path(t()) :: {:ok, [String.t()]} | {:error, term()}
def path(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("path")
Client.execute(generator.client, query_builder)
end
@doc """
Execute the generator
"""
@spec run(t()) :: Dagger.Generator.t()
def run(%__MODULE__{} = generator) do
query_builder =
generator.query_builder |> QB.select("run")
%Dagger.Generator{
query_builder: query_builder,
client: generator.client
}
end
end
defimpl Jason.Encoder, for: Dagger.Generator do
def encode(generator, opts) do
{:ok, id} = Dagger.Generator.id(generator)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.Generator do
def decode_fields_hint(_struct, _context, id) do
alias Dagger.Core.QueryBuilder, as: QB
dag = Dagger.Global.dag()
{:ok,
%Dagger.Generator{
query_builder:
dag.query_builder
|> QB.select("node")
|> QB.put_arg("id", id)
|> QB.inline_fragment("Generator"),
client: dag.client
}}
end
end