Module: Legion::ProcessRole
- Defined in:
- lib/legion/process_role.rb
Constant Summary collapse
- ROLES =
{ full: { transport: true, cache: true, data: true, extensions: true, api: true, llm: true, gaia: true, crypt: true, supervision: true }, agent: { transport: true, cache: true, data: true, extensions: true, api: true, llm: true, gaia: true, crypt: true, supervision: true }, api: { transport: true, cache: true, data: true, extensions: false, api: true, llm: false, gaia: false, crypt: true, supervision: false }, worker: { transport: true, cache: true, data: true, extensions: true, api: false, llm: true, gaia: true, crypt: true, supervision: true }, router: { transport: true, cache: true, data: false, extensions: true, api: false, llm: false, gaia: false, crypt: true, supervision: false }, lite: { transport: true, cache: true, data: true, extensions: true, api: true, llm: true, gaia: true, crypt: false, supervision: true }, infra: { transport: true, cache: true, data: true, extensions: true, api: true, llm: true, gaia: true, crypt: true, supervision: true } }.freeze
Class Method Summary collapse
Class Method Details
.current ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/legion/process_role.rb', line 24 def self.current settings = begin defined?(Legion::Settings) ? Legion::Settings[:process] : nil rescue StandardError => e Legion::Logging.debug "ProcessRole#current failed to read process settings: #{e.}" if defined?(Legion::Logging) nil end return :full unless settings.is_a?(Hash) role = settings[:role] return :full if role.nil? role.to_sym end |
.resolve(role_name) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/legion/process_role.rb', line 15 def self.resolve(role_name) key = role_name.to_sym unless ROLES.key?(key) warn_unrecognized(key) key = :full end ROLES[key] end |
.role?(name) ⇒ Boolean
39 40 41 |
# File 'lib/legion/process_role.rb', line 39 def self.role?(name) current == name.to_sym end |