Add config path to Config

This commit is contained in:
Jared Turner 2020-06-08 15:24:17 +01:00
parent cff599f688
commit 0bd94a2290

View File

@ -3,6 +3,8 @@ require "yaml"
class Config class Config
include YAML::Serializable include YAML::Serializable
@[YAML::Field(ignore: true)]
property path : String = ""
property port : Int32 = 9000 property port : Int32 = 9000
property library_path : String = File.expand_path "~/mango/library", property library_path : String = File.expand_path "~/mango/library",
home: true home: true
@ -29,6 +31,7 @@ class Config
cfg_path = File.expand_path path, home: true cfg_path = File.expand_path path, home: true
if File.exists? cfg_path if File.exists? cfg_path
config = self.from_yaml File.read cfg_path config = self.from_yaml File.read cfg_path
config.path = path
config.fill_defaults config.fill_defaults
return config return config
end end
@ -39,6 +42,7 @@ class Config
abort "Aborting..." abort "Aborting..."
end end
default = self.allocate default = self.allocate
default.path = path
default.fill_defaults default.fill_defaults
cfg_dir = File.dirname cfg_path cfg_dir = File.dirname cfg_path
unless Dir.exists? cfg_dir unless Dir.exists? cfg_dir