Sha256: 20ba7bf482924721010483c2a173b45bda260614a7ca4600d22235bbc114bc06
Contents?: true
Size: 805 Bytes
Versions: 31
Compression:
Stored size: 805 Bytes
Contents
# frozen_string_literal: true module SdrClient # The stored credentials class Credentials class NoCredentialsError < StandardError; end # @param [String] a json string that contains a field 'token' def self.write(body) json = JSON.parse(body) Dir.mkdir(credentials_path, 0o700) unless Dir.exist?(credentials_path) File.open(credentials_file, 'w', 0o600) do |file| file.write(json.fetch('token')) end end def self.read raise NoCredentialsError unless ::File.exist?(credentials_file) IO.readlines(credentials_file, chomp: true).first end def self.credentials_path @credentials_path ||= File.join(Dir.home, '.sdr') end def self.credentials_file File.join(credentials_path, 'credentials') end end end
Version data entries
31 entries across 31 versions & 1 rubygems