Class: SdrClient::RedesignedClient::CLI::Credentials

Inherits:
Object
  • Object
show all
Defined in:
lib/sdr_client/redesigned_client/cli/credentials.rb

Overview

The stored credentials

Class Method Summary collapse

Class Method Details

.credentials_fileObject



29
30
31
# File 'lib/sdr_client/redesigned_client/cli/credentials.rb', line 29

def self.credentials_file
  ::File.join(credentials_path, 'credentials')
end

.credentials_pathObject



25
26
27
# File 'lib/sdr_client/redesigned_client/cli/credentials.rb', line 25

def self.credentials_path
  @credentials_path ||= ::File.join(Dir.home, '.sdr')
end

.readObject



16
17
18
19
20
21
22
23
# File 'lib/sdr_client/redesigned_client/cli/credentials.rb', line 16

def self.read
  return unless ::File.exist?(credentials_file)

  creds = ::File.read(credentials_file, chomp: true)
  return if creds.nil?

  creds
end

.write(body) ⇒ Object

Parameters:

  • a (String)

    json string that contains a field ‘token’



9
10
11
12
13
14
# File 'lib/sdr_client/redesigned_client/cli/credentials.rb', line 9

def self.write(body)
  token = JSON.parse(body).fetch('token')
  FileUtils.mkdir_p(credentials_path, mode: 0o700)
  ::File.atomic_write(credentials_file) { |file| file.write(token) }
  ::File.chmod(0o600, credentials_file)
end