Feature #15840
Updated by nobu (Nobuyoshi Nakada) over 6 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)