Packages
dagger
0.13.7
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/current_module.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.CurrentModule do
@moduledoc "Reflective module API provided to functions at runtime."
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc "A unique identifier for this CurrentModule."
@spec id(t()) :: {:ok, Dagger.CurrentModuleID.t()} | {:error, term()}
def id(%__MODULE__{} = current_module) do
query_builder =
current_module.query_builder |> QB.select("id")
Client.execute(current_module.client, query_builder)
end
@doc "The name of the module being executed in"
@spec name(t()) :: {:ok, String.t()} | {:error, term()}
def name(%__MODULE__{} = current_module) do
query_builder =
current_module.query_builder |> QB.select("name")
Client.execute(current_module.client, query_builder)
end
@doc "The directory containing the module's source code loaded into the engine (plus any generated code that may have been created)."
@spec source(t()) :: Dagger.Directory.t()
def source(%__MODULE__{} = current_module) do
query_builder =
current_module.query_builder |> QB.select("source")
%Dagger.Directory{
query_builder: query_builder,
client: current_module.client
}
end
@doc "Load a directory from the module's scratch working directory, including any changes that may have been made to it during module function execution."
@spec workdir(t(), String.t(), [{:exclude, [String.t()]}, {:include, [String.t()]}]) ::
Dagger.Directory.t()
def workdir(%__MODULE__{} = current_module, path, optional_args \\ []) do
query_builder =
current_module.query_builder
|> QB.select("workdir")
|> QB.put_arg("path", path)
|> QB.maybe_put_arg("exclude", optional_args[:exclude])
|> QB.maybe_put_arg("include", optional_args[:include])
%Dagger.Directory{
query_builder: query_builder,
client: current_module.client
}
end
@doc "Load a file from the module's scratch working directory, including any changes that may have been made to it during module function execution.Load a file from the module's scratch working directory, including any changes that may have been made to it during module function execution."
@spec workdir_file(t(), String.t()) :: Dagger.File.t()
def workdir_file(%__MODULE__{} = current_module, path) do
query_builder =
current_module.query_builder |> QB.select("workdirFile") |> QB.put_arg("path", path)
%Dagger.File{
query_builder: query_builder,
client: current_module.client
}
end
end