parseconfig 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
 - data/Changelog +4 -0
 - data/LICENSE +1 -1
 - data/README.md +45 -39
 - data/lib/parseconfig.rb +4 -4
 - metadata +8 -10
 
    
        checksums.yaml
    ADDED
    
    | 
         @@ -0,0 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            ---
         
     | 
| 
      
 2 
     | 
    
         
            +
            SHA1:
         
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8d1e9b35305ee60ce0732906eee17091e8c3564e
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 20c5c7343345170d04a5f9009f55f9a31bf61cc2
         
     | 
| 
      
 5 
     | 
    
         
            +
            SHA512:
         
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 7db0455728e0e7a4cbb058db4766e28bf5029258b10f808c11bf5eca06a5d53dafb9499dac1339bbcf847306ac3f39c6f55cd9ed77dfbdb57134170dcd3ff413
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 31d19e90674de0732c023e644b90e9860c5845b8d0cabed89022786b45d8c43a4d16c81cd8b2f9f196da6548ada8a95741ee941fbe43bf1b250a5e822373a9c3
         
     | 
    
        data/Changelog
    CHANGED
    
    | 
         @@ -1,3 +1,7 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            Mon Oct 06, 2014 - v1.0.6
         
     | 
| 
      
 2 
     | 
    
         
            +
            - Fix where extraneous double quotes were getting wrapped around parameters
         
     | 
| 
      
 3 
     | 
    
         
            +
              that have non-word characters (issue #19)
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
       1 
5 
     | 
    
         
             
            Thu Dec 19, 2013 - v1.0.4
         
     | 
| 
       2 
6 
     | 
    
         
             
            - Add fix for config files with Byte Order Marker (BOM)
         
     | 
| 
       3 
7 
     | 
    
         
             
            - Add support for .eql? function.
         
     | 
    
        data/LICENSE
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         | 
| 
       2 
2 
     | 
    
         
             
            The MIT License:
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
            Copyright (c) 2006- 
     | 
| 
      
 4 
     | 
    
         
            +
            Copyright (c) 2006-2014 Data Folk Labs, LLC
         
     | 
| 
       5 
5 
     | 
    
         | 
| 
       6 
6 
     | 
    
         
             
            Permission is hereby granted, free of charge, to any person obtaining a copy
         
     | 
| 
       7 
7 
     | 
    
         
             
            of this software and associated documentation files (the "Software"), to deal
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -11,6 +11,10 @@ Installation 
     | 
|
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
                $ sudo gem install parseconfig
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
            Gemfile
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                 gem 'parseconfig'
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
       14 
18 
     | 
    
         
             
            Usage
         
     | 
| 
       15 
19 
     | 
    
         
             
            -----
         
     | 
| 
       16 
20 
     | 
    
         | 
| 
         @@ -31,49 +35,51 @@ An example configuration file might look like: 
     | 
|
| 
       31 
35 
     | 
    
         | 
| 
       32 
36 
     | 
    
         
             
            Access it with ParseConfig:
         
     | 
| 
       33 
37 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
             
     | 
| 
      
 38 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            >> require 'parseconfig'
         
     | 
| 
      
 41 
     | 
    
         
            +
            => true
         
     | 
| 
       36 
42 
     | 
    
         | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
       39 
     | 
    
         
            -
             
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
      
 43 
     | 
    
         
            +
            >> config = ParseConfig.new('/path/to/config/example.conf')
         
     | 
| 
      
 44 
     | 
    
         
            +
            => #<ParseConfig:0x102410908
         
     | 
| 
      
 45 
     | 
    
         
            +
                  @config_file="example.conf",
         
     | 
| 
      
 46 
     | 
    
         
            +
                  @groups=["group1", "group2"],
         
     | 
| 
      
 47 
     | 
    
         
            +
                  @params={
         
     | 
| 
      
 48 
     | 
    
         
            +
                        "param1"=>"value1"
         
     | 
| 
      
 49 
     | 
    
         
            +
                        "param2"=>"value2",
         
     | 
| 
      
 50 
     | 
    
         
            +
                        "group1"=>{
         
     | 
| 
       42 
51 
     | 
    
         
             
                            "param1"=>"value1"
         
     | 
| 
       43 
52 
     | 
    
         
             
                            "param2"=>"value2",
         
     | 
| 
       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 
     | 
    
         
            -
                >> config.write(file)
         
     | 
| 
       73 
     | 
    
         
            -
                => []
         
     | 
| 
       74 
     | 
    
         
            -
                >> file.close
         
     | 
| 
       75 
     | 
    
         
            -
                => nil
         
     | 
| 
      
 53 
     | 
    
         
            +
                        },
         
     | 
| 
      
 54 
     | 
    
         
            +
                        "group2"=>{
         
     | 
| 
      
 55 
     | 
    
         
            +
                            "param1"=>"value1"
         
     | 
| 
      
 56 
     | 
    
         
            +
                            "param2"=>"value2",
         
     | 
| 
      
 57 
     | 
    
         
            +
                        },
         
     | 
| 
      
 58 
     | 
    
         
            +
                }>
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            >> config.get_params
         
     | 
| 
      
 61 
     | 
    
         
            +
            => ["param1", "param2", "group1", "group2"]
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
            >> config['param1']
         
     | 
| 
      
 64 
     | 
    
         
            +
            => "value1"
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            >> config.get_groups
         
     | 
| 
      
 67 
     | 
    
         
            +
            => ["group1", "group2"]
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
            >> config['group1']
         
     | 
| 
      
 70 
     | 
    
         
            +
            => {"group1_param1"=>"group1_value1", "group1_param2"=>"group1_value2"}
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            >> config['group1']['group1_param1']
         
     | 
| 
      
 73 
     | 
    
         
            +
            => "group1_value1"
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
            >> file = File.open('/path/to/config/file', 'w')
         
     | 
| 
      
 76 
     | 
    
         
            +
            => #<File:file>
         
     | 
| 
      
 77 
     | 
    
         
            +
            >> config.write(file)
         
     | 
| 
      
 78 
     | 
    
         
            +
            => []
         
     | 
| 
      
 79 
     | 
    
         
            +
            >> file.close
         
     | 
| 
      
 80 
     | 
    
         
            +
            => nil
         
     | 
| 
       76 
81 
     | 
    
         | 
| 
      
 82 
     | 
    
         
            +
            ```
         
     | 
| 
       77 
83 
     | 
    
         | 
| 
       78 
84 
     | 
    
         
             
            License
         
     | 
| 
       79 
85 
     | 
    
         
             
            -------
         
     | 
    
        data/lib/parseconfig.rb
    CHANGED
    
    | 
         @@ -18,7 +18,7 @@ 
     | 
|
| 
       18 
18 
     | 
    
         | 
| 
       19 
19 
     | 
    
         
             
            class ParseConfig
         
     | 
| 
       20 
20 
     | 
    
         | 
| 
       21 
     | 
    
         
            -
              Version = '1.0. 
     | 
| 
      
 21 
     | 
    
         
            +
              Version = '1.0.6'
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
              attr_accessor :config_file, :params, :groups
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
         @@ -155,10 +155,10 @@ class ParseConfig 
     | 
|
| 
       155 
155 
     | 
    
         
             
              end
         
     | 
| 
       156 
156 
     | 
    
         | 
| 
       157 
157 
     | 
    
         
             
              # Writes out the config file to output_stream
         
     | 
| 
       158 
     | 
    
         
            -
              def write(output_stream=STDOUT)
         
     | 
| 
      
 158 
     | 
    
         
            +
              def write(output_stream=STDOUT, quoted=true)
         
     | 
| 
       159 
159 
     | 
    
         
             
                self.params.each do |name,value|
         
     | 
| 
       160 
160 
     | 
    
         
             
                  if value.class.to_s != 'Hash'
         
     | 
| 
       161 
     | 
    
         
            -
                    if  
     | 
| 
      
 161 
     | 
    
         
            +
                    if quoted == true
         
     | 
| 
       162 
162 
     | 
    
         
             
                      output_stream.puts "#{name} = \"#{value}\""
         
     | 
| 
       163 
163 
     | 
    
         
             
                    else
         
     | 
| 
       164 
164 
     | 
    
         
             
                      output_stream.puts "#{name} = #{value}"
         
     | 
| 
         @@ -170,7 +170,7 @@ class ParseConfig 
     | 
|
| 
       170 
170 
     | 
    
         
             
                self.groups.each do |group|
         
     | 
| 
       171 
171 
     | 
    
         
             
                  output_stream.puts "[#{group}]"
         
     | 
| 
       172 
172 
     | 
    
         
             
                  self.params[group].each do |param, value|
         
     | 
| 
       173 
     | 
    
         
            -
                    if  
     | 
| 
      
 173 
     | 
    
         
            +
                    if quoted == true
         
     | 
| 
       174 
174 
     | 
    
         
             
                      output_stream.puts "#{param} = \"#{value}\""
         
     | 
| 
       175 
175 
     | 
    
         
             
                    else
         
     | 
| 
       176 
176 
     | 
    
         
             
                      output_stream.puts "#{param} = #{value}"
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,15 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: parseconfig
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.0. 
     | 
| 
       5 
     | 
    
         
            -
              prerelease: 
         
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.6
         
     | 
| 
       6 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       8 
7 
     | 
    
         
             
            - BJ Dierkes
         
     | 
| 
       9 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-10-06 00:00:00.000000000 Z
         
     | 
| 
       13 
12 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       14 
13 
     | 
    
         
             
            description: ParseConfig provides simple parsing of standard configuration files in
         
     | 
| 
       15 
14 
     | 
    
         
             
              the form of 'param = value'.  It also supports nested [group] sections.
         
     | 
| 
         @@ -18,32 +17,31 @@ executables: [] 
     | 
|
| 
       18 
17 
     | 
    
         
             
            extensions: []
         
     | 
| 
       19 
18 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       20 
19 
     | 
    
         
             
            files:
         
     | 
| 
       21 
     | 
    
         
            -
            - README.md
         
     | 
| 
       22 
20 
     | 
    
         
             
            - Changelog
         
     | 
| 
       23 
21 
     | 
    
         
             
            - LICENSE
         
     | 
| 
      
 22 
     | 
    
         
            +
            - README.md
         
     | 
| 
       24 
23 
     | 
    
         
             
            - lib/parseconfig.rb
         
     | 
| 
       25 
24 
     | 
    
         
             
            homepage: http://github.com/datafolklabs/ruby-parseconfig/
         
     | 
| 
       26 
25 
     | 
    
         
             
            licenses: []
         
     | 
| 
      
 26 
     | 
    
         
            +
            metadata: {}
         
     | 
| 
       27 
27 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       28 
28 
     | 
    
         
             
            rdoc_options: []
         
     | 
| 
       29 
29 
     | 
    
         
             
            require_paths:
         
     | 
| 
       30 
30 
     | 
    
         
             
            - lib
         
     | 
| 
       31 
31 
     | 
    
         
             
            required_ruby_version: !ruby/object:Gem::Requirement
         
     | 
| 
       32 
     | 
    
         
            -
              none: false
         
     | 
| 
       33 
32 
     | 
    
         
             
              requirements:
         
     | 
| 
       34 
     | 
    
         
            -
              - -  
     | 
| 
      
 33 
     | 
    
         
            +
              - - ">="
         
     | 
| 
       35 
34 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       36 
35 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       37 
36 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       38 
     | 
    
         
            -
              none: false
         
     | 
| 
       39 
37 
     | 
    
         
             
              requirements:
         
     | 
| 
       40 
     | 
    
         
            -
              - -  
     | 
| 
      
 38 
     | 
    
         
            +
              - - ">="
         
     | 
| 
       41 
39 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       42 
40 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       43 
41 
     | 
    
         
             
            requirements: []
         
     | 
| 
       44 
42 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       45 
     | 
    
         
            -
            rubygems_version:  
     | 
| 
      
 43 
     | 
    
         
            +
            rubygems_version: 2.2.2
         
     | 
| 
       46 
44 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       47 
     | 
    
         
            -
            specification_version:  
     | 
| 
      
 45 
     | 
    
         
            +
            specification_version: 4
         
     | 
| 
       48 
46 
     | 
    
         
             
            summary: Config File Parser for Standard Unix/Linux Type Config Files
         
     | 
| 
       49 
47 
     | 
    
         
             
            test_files: []
         
     |