Skip to content

Ruby Config File Parser for Standard Unix/Linux Type Config Files

License

Notifications You must be signed in to change notification settings

blotzy/ruby-parseconfig

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruby ParseConfig Library

ParseConfig provides simple parsing of standard configuration files in the form of 'param = value'. It also supports nested [group] sections.

Continuous Integration Status

Installation

$ sudo 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:

>> 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.

About

Ruby Config File Parser for Standard Unix/Linux Type Config Files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 65.7%
  • CSS 33.9%
  • Shell 0.4%