Foundry. Project. Module
(foundry v0.1.3)
Copy Markdown
Ash resource wrapping the output of mix foundry.context <Module>.
Represents a single module's context: its type, domain, relationships, compliance links, test coverage, and agent step declarations.
Delegates to Foundry.Context.ProjectContext.build_one/2 for single-module
lookups and Foundry.Context.GraphBuilder.build/2 for full enumeration.
Summary
Types
@type t() :: %Foundry.Project.Module{ __lateral_join_source__: term(), __meta__: term(), __metadata__: term(), __order__: term(), adrs: term(), agent_steps: term(), aggregates: term(), app: term(), archival: term(), calculations: term(), compliance: term(), data_layer: term(), description: term(), domain: term(), id: term(), last_modified: term(), module: term(), paper_trail: term(), pending_migrations: term(), rules: term(), runbook: term(), sensitive: term(), state_machine: term(), telemetry_prefix: term(), test_coverage: term(), type: term() }
Functions
Validates that the keys in the provided input are valid for at least one action on the resource.
Raises a KeyError error at compile time if not. This exists because generally a struct should only ever
be created by Ash as a result of a successful action. You should not be creating records manually in code,
e.g %MyResource{value: 1, value: 2}. Generally that is fine, but often with embedded resources it is nice
to be able to validate the keys that are being provided, e.g
Resource
|> Ash.Changeset.for_create(:create, %{embedded: EmbeddedResource.input(foo: 1, bar: 2)})
|> Ash.create()
Same as input/1, except restricts the keys to values accepted by the action provided.