GroundPlane.Contracts.ArtifactRef (GroundPlane Contracts v0.1.0)

Copy Markdown View Source

Opaque artifact reference for contract ledgers and proof receipts.

The reference identifies a produced artifact by owner, producer repository, and artifact name only. It deliberately carries no higher-layer semantics.

Summary

Types

t()

@type t() :: %GroundPlane.Contracts.ArtifactRef{
  name: String.t(),
  owner: String.t(),
  ref: String.t(),
  repo: String.t()
}

Functions

new(attrs)

@spec new(map()) :: {:ok, t()} | {:error, term()}

new(owner, repo, name)

@spec new(String.t(), String.t(), String.t()) :: {:ok, t()} | {:error, term()}

new!(owner, repo, name)

@spec new!(String.t(), String.t(), String.t()) :: t()

parse(ref)

@spec parse(String.t()) :: {:ok, t()} | {:error, term()}

to_string(artifact_ref)

@spec to_string(t()) :: String.t()

valid?(value)

@spec valid?(term()) :: boolean()