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: []
|