Module: Console1984::Supervisor::Accesses

Includes:
Messages
Included in:
Console1984::Supervisor
Defined in:
lib/console1984/supervisor/accesses.rb

Defined Under Namespace

Classes: Protected, Unprotected

Constant Summary collapse

PROTECTED_ACCESS =
Protected.new
UNPROTECTED_ACCESS =
Unprotected.new

Constants included from Messages

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

Instance Method Summary collapse

Instance Method Details

#disable_access_to_encrypted_content(silent: false) ⇒ Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/console1984/supervisor/accesses.rb', line 19

def disable_access_to_encrypted_content(silent: false)
  run_system_command do
    show_warning Console1984.enter_protected_mode_warning if !silent && unprotected_mode?
    session_logger.end_sensitive_access
    nil
  end
ensure
  @access = PROTECTED_ACCESS
  nil
end

#enable_access_to_encrypted_content(silent: false) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/console1984/supervisor/accesses.rb', line 7

def enable_access_to_encrypted_content(silent: false)
  run_system_command do
    show_warning Console1984.enter_unprotected_encryption_mode_warning if !silent && protected_mode?
    justification = ask_for_value "\nBefore you can access personal information, you need to ask for and get explicit consent from the user(s). #{current_username}, where can we find this consent (a URL would be great)?"
    session_logger.start_sensitive_access justification
    nil
  end
ensure
  @access = UNPROTECTED_ACCESS
  nil
end

#protected_mode?Boolean

Returns:

  • (Boolean)


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

def protected_mode?
  !unprotected_mode?
end

#unprotected_mode?Boolean

Returns:

  • (Boolean)


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

def unprotected_mode?
  @access.is_a?(Unprotected)
end

#with_encryption_mode(&block) ⇒ Object



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

def with_encryption_mode(&block)
  @access.execute(&block)
end