parseconfig 1.0.2 → 1.1.0
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 +41 -21
- data/LICENSE +1 -1
- data/README.md +75 -59
- data/lib/parseconfig.rb +115 -83
- data/lib/version.rb +3 -0
- metadata +27 -45
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 79e32d975451b2b4cbf6ee3123e87b26a1fbf540066b3d44322c02d573a451af
|
4
|
+
data.tar.gz: 3a53181d9344b6b2ea790f968d7f33305709944bafd1c430a27601c411672fff
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d7b538e6e901837e6d6e479e072841ba6dd404ecc060cf417d98a40e714daabaf92fa54c3eeec137ff11d5df98e055f374c8f8f43917ce4d3d3ef4668a3d2efa
|
7
|
+
data.tar.gz: 634668d51266a54123d170652bb8bd03fcac5936c4a0deb0f388860ecad6cd84cd88c256b85be6d78a7155b766cbccbc2de0334d3b601e1b9304aaa8403118c9
|
data/Changelog
CHANGED
@@ -1,7 +1,27 @@
|
|
1
|
+
Mon Sep 28, 2020 - v1.1.0
|
2
|
+
- Add non-value option support.
|
3
|
+
Resolves Issue #11
|
4
|
+
|
5
|
+
Mon Jan 25, 2016 - v1.0.8
|
6
|
+
- Use backward compatible positional arguments (not named keyword arguments)
|
7
|
+
Resolves Issue #31
|
8
|
+
|
9
|
+
Mon Jan 25, 2016 - v1.0.7
|
10
|
+
- Support alternative comment types (default: ['#', ';']) (@voobscout)
|
11
|
+
Resolves Issue #30
|
12
|
+
|
13
|
+
Mon Oct 06, 2014 - v1.0.6
|
14
|
+
- Fix where extraneous double quotes were getting wrapped around parameters
|
15
|
+
that have non-word characters (issue #19)
|
16
|
+
|
17
|
+
Thu Dec 19, 2013 - v1.0.4
|
18
|
+
- Add fix for config files with Byte Order Marker (BOM)
|
19
|
+
- Add support for .eql? function.
|
20
|
+
|
1
21
|
Tue Jun 12, 2012 - v1.0.2
|
2
|
-
- Re-enable get_value() as it seems some projects are still using it.
|
22
|
+
- Re-enable get_value() as it seems some projects are still using it.
|
3
23
|
That said, get_value() *will* be removed in the future at some point.
|
4
|
-
|
24
|
+
|
5
25
|
Tue Jun 12, 2012 - v1.0.0
|
6
26
|
- Resolved Issue #3, Config files not closed properly.
|
7
27
|
- Resolved Issue #7, Added basic rspec testing
|
@@ -11,26 +31,26 @@ Tue Jun 12, 2012 - v1.0.0
|
|
11
31
|
Sat Feb 27, 2010 - v0.5.2
|
12
32
|
- Re-releasing under MIT License.
|
13
33
|
- Fixed issue with the add() method where if you added a group outside
|
14
|
-
of the import_config() method, the group would not be properly added to
|
34
|
+
of the import_config() method, the group would not be properly added to
|
15
35
|
self.groups[].
|
16
|
-
- Added feature that if you attempt to add a group that already exists, the
|
36
|
+
- Added feature that if you attempt to add a group that already exists, the
|
17
37
|
groups will be merged together. Any existing params in the original
|
18
38
|
group will be overwritten by the new ones.
|
19
39
|
- Fully deprecated override_value() and nil_value(). Anything using
|
20
40
|
'instance_variable*' has been removed as well as it wasn't working properly
|
21
41
|
anyway.
|
22
|
-
- If you attempt to add_to_group() to a group that doesn't exist, the group
|
42
|
+
- If you attempt to add_to_group() to a group that doesn't exist, the group
|
23
43
|
is added automatically.
|
24
|
-
|
44
|
+
|
25
45
|
Mon Aug 31, 2009 - v0.5
|
26
46
|
- Added sub-groups feature per RubyForge tracker [#27019]. Config files
|
27
47
|
can now have [subgroups] whose values are added to a nested Hash object.
|
28
|
-
- Added the write() function per RubyForge tracker [#27019]. Will print
|
48
|
+
- Added the write() function per RubyForge tracker [#27019]. Will print
|
29
49
|
to STDOUT by default, or to a file object if passed.
|
30
50
|
- Added the add(), and add_to_group() functions to support new features
|
31
51
|
per RubyForge tracker [#27019].
|
32
52
|
- Thank you to Titouan Christophe for the submissions listed above!
|
33
|
-
- ParseConfig.get_params() returns all params including groups.
|
53
|
+
- ParseConfig.get_params() returns all params including groups.
|
34
54
|
ParseConfig.get_groups() returns available sub-groups.
|
35
55
|
- See the demo.rb and demo.conf files which have been updated to reflect
|
36
56
|
this update.
|
@@ -39,44 +59,44 @@ Mon Aug 31, 2009 - v0.5
|
|
39
59
|
|
40
60
|
Sat Mar 28, 2009 - v0.4.3
|
41
61
|
- Added the self.params member that is a Hash holding all parameter/values.
|
42
|
-
- Added the 'get_params' to return an array of all config parameters.
|
62
|
+
- Added the 'get_params' to return an array of all config parameters.
|
43
63
|
|
44
64
|
Thu Feb 28, 2008 - v0.4.2
|
45
|
-
- Fixed bug where if the value contains a '=' then the parameter
|
65
|
+
- Fixed bug where if the value contains a '=' then the parameter
|
46
66
|
is not properly set. [bjd]
|
47
|
-
- Fixed bug #13680 Unable to parse config options that contain
|
48
|
-
single quotes. [bjd]
|
67
|
+
- Fixed bug #13680 Unable to parse config options that contain
|
68
|
+
single quotes. [bjd]
|
49
69
|
|
50
70
|
Sun Sep 03, 2007 - v0.4.1
|
51
71
|
- Now using 'instance_variable_set' and 'instance_variable_get'
|
52
|
-
instead of 'eval' (yeah.. that was dirty). [bjd]
|
72
|
+
instead of 'eval' (yeah.. that was dirty). [bjd]
|
53
73
|
|
54
74
|
|
55
75
|
Sat Aug 11, 2007 - v0.3.2
|
56
|
-
- reorganizing files a bit. [bjd]
|
57
|
-
- renamed methods .... no more uglyStyle... now new_style. [bjd]
|
76
|
+
- reorganizing files a bit. [bjd]
|
77
|
+
- renamed methods .... no more uglyStyle... now new_style. [bjd]
|
58
78
|
|
59
79
|
|
60
80
|
Fri Feb 23, 2007 - v0.3.1
|
61
81
|
- Added a bit of code to remove 'single' quotes... so, until I figure
|
62
|
-
a better option, values can't contain single quotes. [bjd]
|
82
|
+
a better option, values can't contain single quotes. [bjd]
|
63
83
|
|
64
84
|
|
65
85
|
Wed Feb 07, 2007 - v0.2.1
|
66
|
-
- Renamed ParseConfig.class.rb to ParseConfig.rb. [bjd]
|
67
|
-
- Add 'strip' to remove trailing white spaces from config file. [bjd]
|
86
|
+
- Renamed ParseConfig.class.rb to ParseConfig.rb. [bjd]
|
87
|
+
- Add 'strip' to remove trailing white spaces from config file. [bjd]
|
68
88
|
|
69
89
|
|
70
90
|
Wed Dec 13, 2006 - v0.1.3
|
71
|
-
- Added error check to ensure configFile is readable. [bjd]
|
91
|
+
- Added error check to ensure configFile is readable. [bjd]
|
72
92
|
|
73
93
|
|
74
94
|
Sat Nov 25, 2006 - v0.1.2
|
75
95
|
- Added regex to only read lines matching /\s*=\s*/ as
|
76
|
-
The class would bork if you had say, and empty line. [bjd]
|
96
|
+
The class would bork if you had say, and empty line. [bjd]
|
77
97
|
|
78
98
|
|
79
99
|
Fri Nov 24 2006 - v0.1.1
|
80
|
-
- Built class, which is functional and fully usable. [bjd]
|
100
|
+
- Built class, which is functional and fully usable. [bjd]
|
81
101
|
|
82
102
|
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,75 +1,91 @@
|
|
1
|
-
Ruby ParseConfig Library
|
2
|
-
========================
|
1
|
+
# Ruby ParseConfig Library
|
3
2
|
|
4
|
-
ParseConfig provides simple parsing of standard configuration files in the
|
5
|
-
form of
|
3
|
+
ParseConfig provides simple parsing of standard configuration files in the
|
4
|
+
form of `param = value`. It also supports nested `[group]` sections.
|
6
5
|
|
7
|
-
[](http://travis-ci.org/datafolklabs/ruby-parseconfig)
|
8
7
|
|
9
|
-
Installation
|
10
|
-
------------
|
8
|
+
## Installation
|
11
9
|
|
12
|
-
|
10
|
+
```
|
11
|
+
$ gem install parseconfig
|
12
|
+
```
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
Gemfile
|
15
|
+
|
16
|
+
```
|
17
|
+
gem 'parseconfig'
|
18
|
+
```
|
19
|
+
|
20
|
+
## Usage
|
16
21
|
|
17
22
|
An example configuration file might look like:
|
18
23
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
```
|
25
|
+
# Example Config
|
26
|
+
param1 = value1
|
27
|
+
param2 = value2
|
28
|
+
|
29
|
+
[group1]
|
30
|
+
group1_param1 = group1_value1
|
31
|
+
group1_param2 = group1_value2
|
32
|
+
|
33
|
+
[group2]
|
34
|
+
group2_param1 = group2_value1
|
35
|
+
group2_param2 = group2_value2
|
36
|
+
```
|
31
37
|
|
32
38
|
Access it with ParseConfig:
|
33
39
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
```ruby
|
41
|
+
>> require 'parseconfig'
|
42
|
+
=> true
|
43
|
+
|
44
|
+
>> config = ParseConfig.new('/path/to/config/example.conf')
|
45
|
+
=> #<ParseConfig:0x102410908
|
46
|
+
@config_file="example.conf",
|
47
|
+
@groups=["group1", "group2"],
|
48
|
+
@params={
|
49
|
+
"param1"=>"value1"
|
50
|
+
"param2"=>"value2",
|
51
|
+
"group1"=>{
|
42
52
|
"param1"=>"value1"
|
43
53
|
"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
|
-
|
54
|
+
},
|
55
|
+
"group2"=>{
|
56
|
+
"param1"=>"value1"
|
57
|
+
"param2"=>"value2",
|
58
|
+
},
|
59
|
+
}>
|
60
|
+
|
61
|
+
>> config.get_params
|
62
|
+
=> ["param1", "param2", "group1", "group2"]
|
63
|
+
|
64
|
+
>> config['param1']
|
65
|
+
=> "value1"
|
66
|
+
|
67
|
+
>> config.get_groups
|
68
|
+
=> ["group1", "group2"]
|
69
|
+
|
70
|
+
>> config['group1']
|
71
|
+
=> {"group1_param1"=>"group1_value1", "group1_param2"=>"group1_value2"}
|
72
|
+
|
73
|
+
>> config['group1']['group1_param1']
|
74
|
+
=> "group1_value1"
|
75
|
+
|
76
|
+
>> file = File.open('/path/to/config/file', 'w')
|
77
|
+
=> #<File:file>
|
78
|
+
|
79
|
+
>> config.write(file)
|
80
|
+
=> []
|
81
|
+
|
82
|
+
>> file.close
|
83
|
+
=> nil
|
84
|
+
|
85
|
+
```
|
86
|
+
|
87
|
+
## License
|
73
88
|
|
74
89
|
The ParseConfig library is Open Source and distributed under the MIT license.
|
75
90
|
Please see the LICENSE file included with this software.
|
91
|
+
|
data/lib/parseconfig.rb
CHANGED
@@ -1,25 +1,22 @@
|
|
1
|
-
#
|
2
|
-
# Author:: BJ Dierkes <derks@
|
3
|
-
# Copyright:: Copyright (c) 2006,
|
4
|
-
# License:: MIT
|
5
|
-
# URL:: https://github.com/
|
6
|
-
#
|
1
|
+
#
|
2
|
+
# Author:: BJ Dierkes <derks@datafolklabs.com>
|
3
|
+
# Copyright:: Copyright (c) 2006,2016 Data Folk Labs, LLC
|
4
|
+
# License:: MIT
|
5
|
+
# URL:: https://github.com/datafolklabs/ruby-parseconfig
|
6
|
+
#
|
7
7
|
|
8
8
|
# This class was written to simplify the parsing of configuration
|
9
|
-
# files in the format of "param = value". Please review the
|
9
|
+
# files in the format of "param = value". Please review the
|
10
10
|
# demo files included with this package.
|
11
11
|
#
|
12
12
|
# For further information please refer to the './doc' directory
|
13
13
|
# as well as the ChangeLog and README files included.
|
14
14
|
#
|
15
15
|
|
16
|
-
# Note: A group is a set of parameters defined for a subpart of a
|
16
|
+
# Note: A group is a set of parameters defined for a subpart of a
|
17
17
|
# config file
|
18
18
|
|
19
19
|
class ParseConfig
|
20
|
-
|
21
|
-
Version = '1.0.2'
|
22
|
-
|
23
20
|
attr_accessor :config_file, :params, :groups
|
24
21
|
|
25
22
|
# Initialize the class with the path to the 'config_file'
|
@@ -28,128 +25,151 @@ class ParseConfig
|
|
28
25
|
# the config file is 'param = value' then the itializer
|
29
26
|
# will eval "@param = value"
|
30
27
|
#
|
31
|
-
def initialize(config_file=nil)
|
28
|
+
def initialize(config_file = nil, separator = '=', comments = ['#', ';'])
|
32
29
|
@config_file = config_file
|
33
30
|
@params = {}
|
34
31
|
@groups = []
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
32
|
+
@split_regex = '\s*' + separator + '\s*'
|
33
|
+
@comments = comments
|
34
|
+
|
35
|
+
return unless config_file
|
36
|
+
|
37
|
+
validate_config
|
38
|
+
import_config
|
40
39
|
end
|
41
|
-
|
40
|
+
|
42
41
|
# Validate the config file, and contents
|
43
|
-
def validate_config
|
44
|
-
if
|
45
|
-
|
46
|
-
|
47
|
-
|
42
|
+
def validate_config
|
43
|
+
return if File.readable?(config_file)
|
44
|
+
|
45
|
+
raise Errno::EACCES, "#{config_file} is not readable"
|
46
|
+
|
48
47
|
# FIX ME: need to validate contents/structure?
|
49
|
-
end
|
50
|
-
|
48
|
+
end
|
49
|
+
|
51
50
|
# Import data from the config to our config object.
|
52
|
-
def import_config
|
51
|
+
def import_config
|
53
52
|
# The config is top down.. anything after a [group] gets added as part
|
54
|
-
# of that group until a new [group] is found.
|
53
|
+
# of that group until a new [group] is found.
|
55
54
|
group = nil
|
56
|
-
open(
|
57
|
-
line
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
55
|
+
open(config_file) do |f|
|
56
|
+
f.each_with_index do |line, i|
|
57
|
+
line.strip!
|
58
|
+
|
59
|
+
# force_encoding not available in all versions of ruby
|
60
|
+
begin
|
61
|
+
if i.eql? 0 && line.include?("\xef\xbb\xbf".force_encoding('UTF-8'))
|
62
|
+
line.delete!("\xef\xbb\xbf".force_encoding('UTF-8'))
|
63
|
+
end
|
64
|
+
rescue NoMethodError
|
65
|
+
end
|
66
|
+
|
67
|
+
is_comment = false
|
68
|
+
@comments.each do |comment|
|
69
|
+
if /^#{comment}/.match(line)
|
70
|
+
is_comment = true
|
71
|
+
break
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
unless is_comment
|
76
|
+
if /#{@split_regex}/.match(line)
|
77
|
+
param, value = line.split(/#{@split_regex}/, 2)
|
78
|
+
var_name = param.to_s.chomp.strip
|
79
|
+
value = value.chomp.strip
|
80
|
+
new_value = ''
|
81
|
+
if value
|
82
|
+
if value =~ /^['"](.*)['"]$/
|
83
|
+
new_value = Regexp.last_match(1)
|
84
|
+
else
|
85
|
+
new_value = value
|
86
|
+
end
|
67
87
|
else
|
68
|
-
new_value =
|
88
|
+
new_value = ''
|
69
89
|
end
|
70
|
-
else
|
71
|
-
new_value = ''
|
72
|
-
end
|
73
90
|
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
91
|
+
if group
|
92
|
+
add_to_group(group, var_name, new_value)
|
93
|
+
else
|
94
|
+
add(var_name, new_value)
|
95
|
+
end
|
96
|
+
elsif /^\[(.+)\]$/.match(line).to_a != []
|
97
|
+
group = /^\[(.+)\]$/.match(line).to_a[1]
|
98
|
+
add(group, {})
|
99
|
+
elsif /\w+/.match(line)
|
100
|
+
add(line.to_s.chomp.strip, true)
|
78
101
|
end
|
79
|
-
|
80
|
-
elsif(/^\[(.+)\]$/.match(line).to_a != [])
|
81
|
-
group = /^\[(.+)\]$/.match(line).to_a[1]
|
82
|
-
self.add(group, {})
|
83
|
-
|
84
102
|
end
|
85
103
|
end
|
86
|
-
end
|
104
|
+
end
|
87
105
|
end
|
88
106
|
|
89
107
|
# This method will provide the value held by the object "@param"
|
90
|
-
# where "@param" is actually the name of the param in the config
|
91
|
-
# file.
|
108
|
+
# where "@param" is actually the name of the param in the config
|
109
|
+
# file.
|
92
110
|
#
|
93
111
|
# DEPRECATED - will be removed in future versions
|
94
112
|
#
|
95
113
|
def get_value(param)
|
96
|
-
puts
|
114
|
+
puts 'ParseConfig Deprecation Warning: get_value() is deprecated. Use ' \
|
97
115
|
"config['param'] or config['group']['param'] instead."
|
98
|
-
|
116
|
+
params[param]
|
99
117
|
end
|
100
118
|
|
101
119
|
# This method is a shortcut to accessing the @params variable
|
102
120
|
def [](param)
|
103
|
-
|
121
|
+
params[param]
|
104
122
|
end
|
105
123
|
|
106
124
|
# This method returns all parameters/groups defined in a config file.
|
107
|
-
def get_params
|
108
|
-
|
125
|
+
def get_params
|
126
|
+
params.keys
|
109
127
|
end
|
110
|
-
|
128
|
+
|
111
129
|
# List available sub-groups of the config.
|
112
|
-
def get_groups
|
113
|
-
|
130
|
+
def get_groups
|
131
|
+
groups
|
114
132
|
end
|
115
133
|
|
116
134
|
# This method adds an element to the config object (not the config file)
|
117
135
|
# By adding a Hash, you create a new group
|
118
|
-
def add(param_name, value)
|
136
|
+
def add(param_name, value, override = false)
|
119
137
|
if value.class == Hash
|
120
|
-
if
|
121
|
-
if
|
122
|
-
|
123
|
-
|
124
|
-
|
138
|
+
if params.key? param_name
|
139
|
+
if params[param_name].class == Hash
|
140
|
+
if override
|
141
|
+
params[param_name] = value
|
142
|
+
else
|
143
|
+
params[param_name].merge!(value)
|
144
|
+
end
|
145
|
+
elsif params.key? param_name
|
146
|
+
if params[param_name].class != value.class
|
125
147
|
raise ArgumentError, "#{param_name} already exists, and is of different type!"
|
126
148
|
end
|
127
149
|
end
|
128
150
|
else
|
129
|
-
|
151
|
+
params[param_name] = value
|
130
152
|
end
|
131
|
-
|
132
|
-
|
153
|
+
unless groups.include?(param_name)
|
154
|
+
groups.push(param_name)
|
133
155
|
end
|
134
156
|
else
|
135
|
-
|
157
|
+
params[param_name] = value
|
136
158
|
end
|
137
159
|
end
|
138
160
|
|
139
161
|
# Add parameters to a group. Note that parameters with the same name
|
140
162
|
# could be placed in different groups
|
141
163
|
def add_to_group(group, param_name, value)
|
142
|
-
|
143
|
-
|
144
|
-
end
|
145
|
-
self.params[group][param_name] = value
|
164
|
+
add(group, {}) unless groups.include?(group)
|
165
|
+
params[group][param_name] = value
|
146
166
|
end
|
147
167
|
|
148
168
|
# Writes out the config file to output_stream
|
149
|
-
def write(output_stream=STDOUT)
|
150
|
-
|
169
|
+
def write(output_stream = STDOUT, quoted = true)
|
170
|
+
params.each do |name, value|
|
151
171
|
if value.class.to_s != 'Hash'
|
152
|
-
if
|
172
|
+
if quoted == true
|
153
173
|
output_stream.puts "#{name} = \"#{value}\""
|
154
174
|
else
|
155
175
|
output_stream.puts "#{name} = #{value}"
|
@@ -157,11 +177,11 @@ class ParseConfig
|
|
157
177
|
end
|
158
178
|
end
|
159
179
|
output_stream.puts "\n"
|
160
|
-
|
161
|
-
|
180
|
+
|
181
|
+
groups.each do |group|
|
162
182
|
output_stream.puts "[#{group}]"
|
163
|
-
|
164
|
-
if
|
183
|
+
params[group].each do |param, value|
|
184
|
+
if quoted == true
|
165
185
|
output_stream.puts "#{param} = \"#{value}\""
|
166
186
|
else
|
167
187
|
output_stream.puts "#{param} = #{value}"
|
@@ -170,4 +190,16 @@ class ParseConfig
|
|
170
190
|
output_stream.puts "\n"
|
171
191
|
end
|
172
192
|
end
|
193
|
+
|
194
|
+
# Public: Compare this ParseConfig to some other ParseConfig. For two config to
|
195
|
+
# be equivalent, they must have the same sections with the same parameters
|
196
|
+
#
|
197
|
+
# other - The other ParseConfig.
|
198
|
+
#
|
199
|
+
# Returns true if ParseConfig are equivalent and false if they differ.
|
200
|
+
|
201
|
+
def eql?(other)
|
202
|
+
params == other.params && groups == other.groups
|
203
|
+
end
|
204
|
+
alias == eql?
|
173
205
|
end
|
data/lib/version.rb
ADDED
metadata
CHANGED
@@ -1,65 +1,47 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: parseconfig
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 1
|
7
|
-
- 0
|
8
|
-
- 2
|
9
|
-
version: 1.0.2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.1.0
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- BJ Dierkes
|
13
|
-
autorequire:
|
8
|
+
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
date: 2012-06-12 00:00:00 -05:00
|
18
|
-
default_executable:
|
11
|
+
date: 2020-09-28 00:00:00.000000000 Z
|
19
12
|
dependencies: []
|
20
|
-
|
21
|
-
|
22
|
-
email: derks@
|
13
|
+
description: ParseConfig provides simple parsing of standardconfiguration files in
|
14
|
+
the form of 'param = value'. It also supports nested [group] sections.
|
15
|
+
email: derks@datafolklabs.com
|
23
16
|
executables: []
|
24
|
-
|
25
17
|
extensions: []
|
26
|
-
|
27
18
|
extra_rdoc_files: []
|
28
|
-
|
29
|
-
files:
|
30
|
-
- README.md
|
19
|
+
files:
|
31
20
|
- Changelog
|
32
21
|
- LICENSE
|
22
|
+
- README.md
|
33
23
|
- lib/parseconfig.rb
|
34
|
-
|
35
|
-
homepage: http://github.com/
|
24
|
+
- lib/version.rb
|
25
|
+
homepage: http://github.com/datafolklabs/ruby-parseconfig/
|
36
26
|
licenses: []
|
37
|
-
|
38
|
-
post_install_message:
|
27
|
+
metadata: {}
|
28
|
+
post_install_message:
|
39
29
|
rdoc_options: []
|
40
|
-
|
41
|
-
require_paths:
|
30
|
+
require_paths:
|
42
31
|
- lib
|
43
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
32
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
45
34
|
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '0'
|
37
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
52
39
|
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
55
|
-
- 0
|
56
|
-
version: "0"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
57
42
|
requirements: []
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
signing_key:
|
62
|
-
specification_version: 3
|
43
|
+
rubygems_version: 3.0.6
|
44
|
+
signing_key:
|
45
|
+
specification_version: 4
|
63
46
|
summary: Config File Parser for Standard Unix/Linux Type Config Files
|
64
47
|
test_files: []
|
65
|
-
|