Class: Console1984::Supervisor

Inherits:
Object
  • Object
show all
Includes:
Freezeable, InputOutput
Defined in:
lib/console1984/supervisor.rb

Overview

Entry point to the system. In charge of installing everything and starting and stopping sessions.

Constant Summary

Constants included from Messages

Messages::COMMANDS, Messages::DEFAULT_ENTER_PROTECTED_MODE_WARNING, Messages::DEFAULT_ENTER_UNPROTECTED_ENCRYPTION_MODE_WARNING, Messages::DEFAULT_PRODUCTION_DATA_WARNING

Instance Method Summary collapse

Methods included from Freezeable

freeze_all, included

Instance Method Details

#current_usernameObject



38
39
40
# File 'lib/console1984/supervisor.rb', line 38

def current_username
  @current_username ||= username_resolver.current.presence || handle_empty_username
end

#exit_irbObject



33
34
35
36
# File 'lib/console1984/supervisor.rb', line 33

def exit_irb
  stop
  IRB.CurrentContext.exit
end

#installObject

Installs the console protections.

See Console1984::Shield



13
14
15
16
# File 'lib/console1984/supervisor.rb', line 13

def install
  require_dependencies
  shield.install
end

#startObject

Starts a console session.

This will enable protected mode and log the new session in the configured session logger.



22
23
24
25
26
# File 'lib/console1984/supervisor.rb', line 22

def start
  shield.enable_protected_mode(silent: true)
  show_welcome_message
  start_session
end

#stopObject

Stops a console session



29
30
31
# File 'lib/console1984/supervisor.rb', line 29

def stop
  stop_session
end