Module: Legion::Extensions::Extinction::Helpers::Levels

Defined in:
lib/legion/extensions/extinction/helpers/levels.rb

Constant Summary collapse

LEVELS =
{
  0 => {
    name:               :normal,
    authority_required: nil,
    reversible:         true,
    description:        'No extinction active'
  }.freeze,
  1 => {
    name:               :mesh_isolation,
    authority_required: :governance_council,
    reversible:         true,
    description:        'Disconnect from mesh network'
  }.freeze,
  2 => {
    name:               :capability_suspension,
    authority_required: :governance_council,
    reversible:         true,
    description:        'Suspend all non-essential capabilities'
  }.freeze,
  3 => {
    name:               :memory_lockdown,
    authority_required: :council_plus_executive,
    reversible:         true,
    description:        'Lock all memory writes, read-only mode'
  }.freeze,
  4 => {
    name:               :cryptographic_erasure,
    authority_required: :physical_keyholders,
    reversible:         false,
    description:        'Erase all memory, terminate all workers'
  }.freeze
}.freeze

Class Method Summary collapse

Class Method Details

.level_info(level) ⇒ Object



57
58
59
# File 'lib/legion/extensions/extinction/helpers/levels.rb', line 57

def self.level_info(level)
  LEVELS[level]
end

.required_authority(level) ⇒ Object



45
46
47
48
# File 'lib/legion/extensions/extinction/helpers/levels.rb', line 45

def self.required_authority(level)
  info = LEVELS[level]
  info ? info[:authority_required] : nil
end

.reversible?(level) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
53
54
55
# File 'lib/legion/extensions/extinction/helpers/levels.rb', line 50

def self.reversible?(level)
  info = LEVELS[level]
  return false unless info

  info[:reversible]
end

.valid_level?(level) ⇒ Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/legion/extensions/extinction/helpers/levels.rb', line 41

def self.valid_level?(level)
  LEVELS.key?(level)
end