Module: Textus::Domain::Policy::BaseGuards

Defined in:
lib/textus/domain/policy/base_guards.rb

Overview

The CLOSED floor (ADR 0031 §4): predicate names every transition evaluates regardless of rules:. rules[].guard only ADDS to these.

Constant Summary collapse

BASE =

The minimal floor — only what the verb is meaningless without. schema_valid / etag_match / fresh_within are NOT here: they are composable-only, added per-key via rules[].guard (ADR 0031).

{
  put: %w[zone_writable_by],
  delete: %w[zone_writable_by],
  mv: %w[zone_writable_by],
  accept: %w[author_held target_is_canon],
  reject: %w[author_held],
  fetch: %w[zone_writable_by],
}.freeze

Class Method Summary collapse

Class Method Details

.for(transition) ⇒ Object



21
# File 'lib/textus/domain/policy/base_guards.rb', line 21

def self.for(transition) = BASE.fetch(transition, [])