CFA - Config Files Api Gem
The first layer provides access to the file and its content. By default it accesses the local system, but it can be replaced by alternatives to work on a chroot environment, on test data, on a remote machine or any other scenario.
The second layer is the parser, that understands the structure of the configuration files. There are also several possible variants like augeas based, XML parsed by standard ruby library or CVS via cvs specialized library.
The third layer consist on a set of models representing the files to provide more high level actions. Its main purposes are to ensure consistency of the files and to provide high level API for manipulating the files. The models live in their own gems as plugins built on top of this gem.