module Kmc::Configuration
Public Class Methods
cache_dir()
click to toggle source
# File lib/kmc/configuration.rb, line 23 def cache_dir read_config[:cache_dir] end
load_ksp_path()
click to toggle source
# File lib/kmc/configuration.rb, line 19 def load_ksp_path read_config[:ksp_path] end
packages_path()
click to toggle source
# File lib/kmc/configuration.rb, line 27 def packages_path File.join(kmc_path, 'packages', 'packages') end
save_ksp_path(path)
click to toggle source
# File lib/kmc/configuration.rb, line 15 def save_ksp_path(path) write_config(ksp_path: path) end
Private Class Methods
config_path()
click to toggle source
# File lib/kmc/configuration.rb, line 58 def config_path File.join(kmc_path, 'config.json') end
ensure_config_exists!()
click to toggle source
# File lib/kmc/configuration.rb, line 53 def ensure_config_exists! FileUtils.mkdir_p(kmc_path) FileUtils.touch(config_path) end
kmc_path()
click to toggle source
# File lib/kmc/configuration.rb, line 62 def kmc_path File.join(Dir.home, ".kmc") end
read_config()
click to toggle source
# File lib/kmc/configuration.rb, line 42 def read_config ensure_config_exists! config = File.read(config_path) if config.empty? {} else JSON.parse(config, symbolize_names: true) end end
write_config(opts)
click to toggle source
# File lib/kmc/configuration.rb, line 33 def write_config(opts) ensure_config_exists! config_to_write = JSON.pretty_generate(read_config.merge(opts)) File.open(config_path, "w") do |file| file.write config_to_write end end