class Console1984::Supervisor
Entry point to the system. In charge of installing everything and starting and stopping sessions.
Public Instance Methods
exit_irb()
click to toggle source
# File lib/console1984/supervisor.rb, line 33 def exit_irb stop IRB.CurrentContext.exit end
install()
click to toggle source
Installs the console protections.
# File lib/console1984/supervisor.rb, line 13 def install require_dependencies shield.install end
start()
click to toggle source
Starts a console session.
This will enable protected mode and log the new session in the configured session logger.
# File lib/console1984/supervisor.rb, line 22 def start shield.enable_protected_mode(silent: true) show_welcome_message start_session end
stop()
click to toggle source
Stops a console session
# File lib/console1984/supervisor.rb, line 29 def stop stop_session end
Private Instance Methods
current_username()
click to toggle source
# File lib/console1984/supervisor.rb, line 64 def current_username username_resolver.current end
require_dependencies()
click to toggle source
# File lib/console1984/supervisor.rb, line 39 def require_dependencies Kernel.silence_warnings do require 'parser/current' end require 'colorized_string' # Explicit lazy loading because it depends on +parser+, which we want to only load # in console sessions. require_relative "./command_validator/.command_parser" # This solves a weird class loading error where ActiveRecord dosn't resolve +Relation+ properly. # See https://github.com/basecamp/console1984/issues/29 # # TODO: This is a temporary fix. Need to figure out why/when this happens. require "active_record/relation" end
start_session()
click to toggle source
# File lib/console1984/supervisor.rb, line 56 def start_session session_logger.start_session current_username, ask_for_session_reason end
stop_session()
click to toggle source
# File lib/console1984/supervisor.rb, line 60 def stop_session session_logger.finish_session end