Module: Textus::Application::Write::Publish

Defined in:
lib/textus/application/write/publish.rb

Overview

Single-pass publish use case: dispatches polymorphically to each entry’s ‘publish_via` method. Derived entries materialize their body via Materializer; Nested entries fan out via publish_each; Leaf and Intake entries copy their stored body to publish_to targets. The Publish layer owns wiring (context, accumulation) but not per-kind logic.

Return shape: { “protocol”, “built”, “published_leaves” }

Defined Under Namespace

Classes: Impl

Class Method Summary collapse

Class Method Details

.call(session:, ctx:, caps:) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/textus/application/write/publish.rb', line 13

def self.call(*, session:, ctx:, caps:, **)
  Impl.new(
    ctx: ctx, caps: caps,
    rpc: session.rpc,
    session: session,
    hook_context: session.hook_context
  ).call(*, **)
end