Module: Textus::Manifest::RoleKinds

Defined in:
lib/textus/manifest/role_kinds.rb

Constant Summary collapse

DEFAULT_MAPPING =
{
  "human" => :accept_authority,
  "agent" => :proposer,
  "builder" => :generator,
  "runner" => :runner,
}.freeze

Class Method Summary collapse

Class Method Details

.resolve(raw_roles) ⇒ Object

Returns { role_name => kind_symbol }. When ‘roles:` is declared we use exactly that; defaults are not layered in (declaring roles is an opt-in to a fully user-defined vocabulary).



14
15
16
17
18
# File 'lib/textus/manifest/role_kinds.rb', line 14

def self.resolve(raw_roles)
  return DEFAULT_MAPPING if raw_roles.nil?

  raw_roles.to_h { |r| [r["name"], r["kind"].to_sym] }.freeze
end