parseconfig 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog +22 -16
- data/demo.conf +1 -0
- data/demo.rb +2 -2
- data/lib/parseconfig.rb +30 -28
- metadata +40 -33
data/Changelog
CHANGED
@@ -1,33 +1,39 @@
|
|
1
|
-
|
1
|
+
Thu Feb 28, 2008 - v0.4.2
|
2
|
+
- Fixed bug where if the value contains a '=' then the parameter
|
3
|
+
is not properly set. [bjd]
|
4
|
+
- Fixed bug #13680 Unable to parse config options that contain
|
5
|
+
single quotes. [bjd]
|
6
|
+
|
7
|
+
Sun Sep 03, 2007 - v0.4.1
|
2
8
|
- Now using 'instance_variable_set' and 'instance_variable_get'
|
3
|
-
instead of 'eval' (yeah.. that was dirty).
|
9
|
+
instead of 'eval' (yeah.. that was dirty). [bjd]
|
4
10
|
|
5
11
|
|
6
|
-
|
7
|
-
- reorganizing files a bit
|
8
|
-
- renamed methods .... no more uglyStyle... now new_style.
|
12
|
+
Sat Aug 11, 2007 - v0.3.2
|
13
|
+
- reorganizing files a bit. [bjd]
|
14
|
+
- renamed methods .... no more uglyStyle... now new_style. [bjd]
|
9
15
|
|
10
16
|
|
11
|
-
|
17
|
+
Fri Feb 23, 2007 - v0.3.1
|
12
18
|
- Added a bit of code to remove 'single' quotes... so, until I figure
|
13
|
-
a better option, values can't contain single quotes
|
19
|
+
a better option, values can't contain single quotes. [bjd]
|
14
20
|
|
15
21
|
|
16
|
-
|
17
|
-
- Renamed ParseConfig.class.rb to ParseConfig.rb
|
18
|
-
- Add 'strip' to remove trailing white spaces from config file
|
22
|
+
Wed Feb 07, 2007 - v0.2.1
|
23
|
+
- Renamed ParseConfig.class.rb to ParseConfig.rb. [bjd]
|
24
|
+
- Add 'strip' to remove trailing white spaces from config file. [bjd]
|
19
25
|
|
20
26
|
|
21
|
-
|
22
|
-
- Added error check to ensure configFile is readable
|
27
|
+
Wed Dec 13, 2006 - v0.1.3
|
28
|
+
- Added error check to ensure configFile is readable. [bjd]
|
23
29
|
|
24
30
|
|
25
|
-
|
31
|
+
Sat Nov 25, 2006 - v0.1.2
|
26
32
|
- Added regex to only read lines matching /\s*=\s*/ as
|
27
|
-
The class would bork if you had say, and empty line
|
33
|
+
The class would bork if you had say, and empty line. [bjd]
|
28
34
|
|
29
35
|
|
30
|
-
|
31
|
-
- Built class, which is functional and fully usable
|
36
|
+
Fri Nov 24 2006 - v0.1.1
|
37
|
+
- Built class, which is functional and fully usable. [bjd]
|
32
38
|
|
33
39
|
|
data/demo.conf
CHANGED
data/demo.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
require('rubygems')
|
4
4
|
require('parseconfig')
|
5
|
-
#require('./lib/
|
5
|
+
#require('./lib/parseconfig.rb')
|
6
6
|
|
7
7
|
begin
|
8
8
|
myConfig = ParseConfig.new('demo.conf')
|
@@ -16,5 +16,5 @@ end
|
|
16
16
|
|
17
17
|
puts "Hello, my name is #{myConfig.get_value('name')}."
|
18
18
|
puts "I am #{myConfig.get_value('age')} years old, but will be #{myConfig.override_value('age', '22')} soon."
|
19
|
-
puts "I currently live at #{myConfig.get_value('address')}."
|
19
|
+
puts "I currently live at #{myConfig.get_value('address')}, and my slogan is \"#{myConfig.get_value('slogan')}\"."
|
20
20
|
|
data/lib/parseconfig.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
# $Id: parseconfig.rb
|
2
|
+
# $Id: parseconfig.rb 36 2008-02-29 07:26:31Z wdierkes $
|
3
3
|
#
|
4
|
-
# Author::
|
5
|
-
# Copyright::
|
6
|
-
# License::
|
7
|
-
# URL::
|
4
|
+
# Author:: BJ Dierkes <wdierkes@5dollarwhitebox.org>
|
5
|
+
# Copyright:: Copyright (c) 2006,2007 5dollarwhitebox.org
|
6
|
+
# License:: GPL
|
7
|
+
# URL:: http://www.5dollarwhitebox.org
|
8
8
|
#
|
9
9
|
|
10
10
|
# This class was written to simplify the parsing of configuration
|
@@ -17,14 +17,14 @@
|
|
17
17
|
|
18
18
|
class ParseConfig
|
19
19
|
|
20
|
-
Version = '0.4.
|
20
|
+
Version = '0.4.2'
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
# Initialize the class with the path to the 'config_file'
|
23
|
+
# The class objects are dynamically generated by the
|
24
|
+
# name of the 'param' in the config file. Therefore, if
|
25
|
+
# the config file is 'param = value' then the itializer
|
26
|
+
# will eval "@param = value"
|
27
|
+
#
|
28
28
|
def initialize(config_file)
|
29
29
|
@config_file = config_file
|
30
30
|
raise Errno::EACCES, "#{self.config_file} is not readable" unless File.readable?(self.config_file)
|
@@ -32,13 +32,15 @@ class ParseConfig
|
|
32
32
|
line.chomp
|
33
33
|
unless (/^\#/.match(line))
|
34
34
|
if(/\s*=\s*/.match(line))
|
35
|
-
param, value = line.split(/\s*=\s
|
35
|
+
param, value = line.split(/\s*=\s*/, 2)
|
36
36
|
var_name = "#{param}".chomp.strip
|
37
37
|
value = value.chomp.strip
|
38
38
|
new_value = ''
|
39
39
|
if (value)
|
40
|
-
value
|
41
|
-
new_value
|
40
|
+
if value =~ /^['"](.*)['"]$/
|
41
|
+
new_value = $1
|
42
|
+
else
|
43
|
+
new_value = value
|
42
44
|
end
|
43
45
|
else
|
44
46
|
new_value = ''
|
@@ -49,27 +51,27 @@ class ParseConfig
|
|
49
51
|
}
|
50
52
|
end
|
51
53
|
|
52
|
-
|
53
|
-
|
54
|
-
|
54
|
+
# This method will provide the value held by the object "@param"
|
55
|
+
# where "@param" is actually the name of the param in the config
|
56
|
+
# file.
|
55
57
|
def get_value(param)
|
56
58
|
self.instance_variable_get("@#{param}")
|
57
59
|
end
|
58
60
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
61
|
+
# This method is simple. Should you need to override a value
|
62
|
+
# dynamically, use override_value(param, value) where 'param' is
|
63
|
+
# the name of the paramater in the config file.
|
64
|
+
#
|
65
|
+
def override_value(param, value)
|
66
|
+
self.instance_variable_set("@#{param}", value)
|
67
|
+
end
|
66
68
|
|
67
|
-
|
68
|
-
|
69
|
+
# This method will set the value of '@param' to nil (not in the config
|
70
|
+
# file, only in the app).
|
69
71
|
def nil_value(param)
|
70
72
|
self.instance_variable_set("@#{param}", nil)
|
71
73
|
end
|
72
|
-
|
74
|
+
|
73
75
|
def config_file=(config_file)
|
74
76
|
@config_file = config_file
|
75
77
|
end
|
metadata
CHANGED
@@ -1,33 +1,26 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.4
|
3
|
-
specification_version: 1
|
4
2
|
name: parseconfig
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.4.
|
7
|
-
date: 2007-09-03 00:00:00 -05:00
|
8
|
-
summary: ParseConfig provides simple parsing of standard *nix style config files.
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: wdierkes@5dollarwhitebox.org
|
12
|
-
homepage: http://www.5dollarwhitebox.org/
|
13
|
-
rubyforge_project:
|
14
|
-
description: ParseConfig provides simple parsing of standard *nix style config files.
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: false
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">"
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 0.0.0
|
24
|
-
version:
|
4
|
+
version: 0.4.2
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- BJ Dierkes
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-02-28 00:00:00 -06:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: ParseConfig provides simple parsing of standard *nix style config files.
|
17
|
+
email: wdierkes@5dollarwhitebox.org
|
18
|
+
executables: []
|
19
|
+
|
20
|
+
extensions: []
|
21
|
+
|
22
|
+
extra_rdoc_files: []
|
23
|
+
|
31
24
|
files:
|
32
25
|
- README
|
33
26
|
- Changelog
|
@@ -36,17 +29,31 @@ files:
|
|
36
29
|
- demo.rb
|
37
30
|
- demo.conf
|
38
31
|
- lib/parseconfig.rb
|
39
|
-
|
40
|
-
|
32
|
+
has_rdoc: false
|
33
|
+
homepage: http://www.5dollarwhitebox.org/
|
34
|
+
post_install_message:
|
41
35
|
rdoc_options: []
|
42
36
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
37
|
+
require_paths:
|
38
|
+
- lib
|
39
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: "0"
|
44
|
+
version:
|
45
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - ">="
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: "0"
|
50
|
+
version:
|
49
51
|
requirements: []
|
50
52
|
|
51
|
-
|
53
|
+
rubyforge_project:
|
54
|
+
rubygems_version: 1.0.1
|
55
|
+
signing_key:
|
56
|
+
specification_version: 2
|
57
|
+
summary: ParseConfig provides simple parsing of standard *nix style config files.
|
58
|
+
test_files: []
|
52
59
|
|