The compiled IR for a single policy :entity do ... end block.
The anonymous functions themselves live as clauses of
__caravela_policy_scope__/3, __caravela_policy_field_visible__/4
and __caravela_policy_allow__/4 on the domain module. This struct
is metadata so generators and the runtime helpers can reason about
which rules exist per entity.
Summary
Functions
Does this entry have an action gate for action?
Does this entry have a field rule for field?
Types
@type t() :: %Caravela.Policy.Entry{ actions: [Caravela.Policy.ActionGate.t()], entity: atom(), fields: [Caravela.Policy.FieldRule.t()], has_scope?: boolean() }