Ancora.Derive.Membership (ancora v1.0.0)

Copy Markdown View Source

Source-derived project membership for each side of a diff.

Membership is exactly the set returned by Ancora.Derive.ModuleLocator. It never consults .app, _build, or another compiled artifact.

Summary

Functions

Builds membership from project source on HEAD and base.

True when module has a literal source definition on side.

Returns module names in the project on side.

Types

side()

t()

@type t() :: %Ancora.Derive.Membership{
  base: MapSet.t(String.t()),
  head: MapSet.t(String.t())
}

Functions

load(project, change_set)

@spec load(Ancora.ProjectInfo.t(), Ancora.Derive.ChangeSet.t()) ::
  {:ok, t()} | {:error, term()}

Builds membership from project source on HEAD and base.

member?(membership, side, module)

@spec member?(t(), side(), module() | String.t()) :: boolean()

True when module has a literal source definition on side.

modules(membership, atom)

@spec modules(t(), side()) :: MapSet.t(String.t())

Returns module names in the project on side.