module InfoStatusSSH

takelage info status ssh

Public Instance Methods

info_status_ssh() click to toggle source

Backend method for info status ssh. @return [Boolean] is ssh available? rubocop:disable Metrics/MethodLength

# File lib/takelage/info/status/ssh.rb, line 8
def info_status_ssh
  log.debug 'Check ssh status'

  ssh_auth_sock = ENV['SSH_AUTH_SOCK']
  gpg_ssh_socket = _info_status_ssh_socket_path.chomp

  unless ssh_auth_sock == gpg_ssh_socket
    log.error 'ssh does not use gpg ssh socket'
    return false
  end

  unless _file_exists? gpg_ssh_socket
    log.error 'gpg ssh socket is not available'
    return false
  end

  unless _info_status_ssh_keys
    log.error 'ssh keys are not available'
    return false
  end

  log.debug 'ssh is available'
  true
end

Private Instance Methods

_info_status_ssh_keys() click to toggle source

Check ssh keys

# File lib/takelage/info/status/ssh.rb, line 42
def _info_status_ssh_keys
  status_keys = try config.active['cmd_info_status_ssh_keys']
  status_keys.exitstatus.zero?
end
_info_status_ssh_socket_path() click to toggle source

Get ssh socket path

# File lib/takelage/info/status/ssh.rb, line 37
def _info_status_ssh_socket_path
  run config.active['cmd_info_status_ssh_socket']
end