1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
# Ruby ParseConfig Library
ParseConfig provides simple parsing of standard configuration files in the
form of `param = value`. It also supports nested `[group]` sections.
[](http://travis-ci.org/datafolklabs/ruby-parseconfig)
## Installation
```
$ gem install parseconfig
```
Gemfile
```
gem 'parseconfig'
```
## Usage
An example configuration file might look like:
```
# Example Config
param1 = value1
param2 = value2
[group1]
group1_param1 = group1_value1
group1_param2 = group1_value2
[group2]
group2_param1 = group2_value1
group2_param2 = group2_value2
```
Access it with ParseConfig:
```ruby
>> require 'parseconfig'
=> true
>> config = ParseConfig.new('/path/to/config/example.conf')
=> #<ParseConfig:0x102410908
@config_file="example.conf",
@groups=["group1", "group2"],
@params={
"param1"=>"value1"
"param2"=>"value2",
"group1"=>{
"param1"=>"value1"
"param2"=>"value2",
},
"group2"=>{
"param1"=>"value1"
"param2"=>"value2",
},
}>
>> config.get_params
=> ["param1", "param2", "group1", "group2"]
>> config['param1']
=> "value1"
>> config.get_groups
=> ["group1", "group2"]
>> config['group1']
=> {"group1_param1"=>"group1_value1", "group1_param2"=>"group1_value2"}
>> config['group1']['group1_param1']
=> "group1_value1"
>> file = File.open('/path/to/config/file', 'w')
=> #<File:file>
>> config.write(file)
=> []
>> file.close
=> nil
```
## License
The ParseConfig library is Open Source and distributed under the MIT license.
Please see the LICENSE file included with this software.
|