Class: Textus::CLI::Verb::Build

Inherits:
Textus::CLI::Verb show all
Defined in:
lib/textus/cli/verb/build.rb

Instance Attribute Summary

Attributes inherited from Textus::CLI::Verb

#positional

Instance Method Summary collapse

Methods inherited from Textus::CLI::Verb

command_name, #context_for, descendants, #emit, inherited, #initialize, needs_store?, option, options, parent_group, #parse, #resolved_role, #session_for

Constructor Details

This class inherits a constructor from Textus::CLI::Verb

Instance Method Details

#call(store) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/textus/cli/verb/build.rb', line 9

def call(store)
  role = store.manifest.policy.actor_for("build") or
    raise UsageError.new(
      "no role holds the 'build' capability",
      hint: "declare a role with `can: [build]` in .textus/manifest.yaml",
    )
  Textus::Ports::BuildLock.with(root: store.root) do
    ops = store.as(role)
    result = ops.publish(prefix: prefix)
    emit(result)
  end
end