Class: Duse::CLIConfig
Instance Attribute Summary
#settings
Class Method Summary
collapse
Instance Method Summary
collapse
#initialize, #to_h, #token, #token=, #uri, #uri=
Class Method Details
.config_dir ⇒ Object
40
41
42
|
# File 'lib/duse/cli/cli_config.rb', line 40
def self.config_dir
File.join Dir.home, '.config', 'duse'
end
|
.config_file ⇒ Object
36
37
38
|
# File 'lib/duse/cli/cli_config.rb', line 36
def self.config_file
File.join config_dir, 'config.yml'
end
|
.load ⇒ Object
22
23
24
25
26
|
# File 'lib/duse/cli/cli_config.rb', line 22
def self.load
config = YAML.load load_config_file
return {} unless config.is_a? Hash
config
end
|
.save(config) ⇒ Object
28
29
30
31
32
33
34
|
# File 'lib/duse/cli/cli_config.rb', line 28
def self.save(config)
FileUtils.mkdir_p config_dir
File.open(config_file, 'w') do |file|
file.write config.to_h.to_yaml
file.chmod 0600
end
end
|
Instance Method Details
#private_key_file_for(user) ⇒ Object
44
45
46
|
# File 'lib/duse/cli/cli_config.rb', line 44
def private_key_file_for(user)
File.join self.class.config_dir, user.username
end
|
#private_key_for(user) ⇒ Object
10
11
12
13
14
|
# File 'lib/duse/cli/cli_config.rb', line 10
def private_key_for(user)
private_key_filename = private_key_file_for user
fail PrivateKeyMissing unless File.exists? private_key_filename
OpenSSL::PKey::RSA.new File.read private_key_filename
end
|
#save_private_key_for(user, private_key) ⇒ Object
16
17
18
19
20
|
# File 'lib/duse/cli/cli_config.rb', line 16
def save_private_key_for(user, private_key)
File.open(private_key_file_for(user), 'w') do |file|
file.write private_key
end
end
|