Project

General

Profile

Feature #15840

Updated by nobu (Nobuyoshi Nakada) almost 5 years ago

Related to #15828, a standard method to search configuration files would be nice. 

 We (naruse and nobu) talked about it and agreed on `Etc.config_file` 

 To load a config file as Ruby script: 
 ```ruby 
 Etc.config_file(basename) {|path| load(path) rescue nil} 
 ``` 

 or just search the file: 
 ```ruby 
 file = Etc.config_file 
 ``` 
 `basename` will be defaulted to the base name of the program name,`$0`. 


 A flag to write new file: 
 ```ruby 
 Etc.config_file(create: true) {|f| FileUtils.mdir_p(File.basename(f)); File.write(f, content)} 
 ``` 

 --- 
 Links: 
 [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) 
 [Haiku Filesystem layout](https://www.haiku-os.org/docs/userguide/en/filesystem-layout.html)

Back