configparser 0.1.1 → 0.1.2

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fb8abd63de5675ecb447293414f42920df48f4f8
4
+ data.tar.gz: cdfd1a378fbf2bda1df9934ddae8d22299908443
5
+ SHA512:
6
+ metadata.gz: c9ea08520489ce5de29f8c718f059527dae061d5be7abe300b6a9785b88dbba9d55576e5f1b9c2ef40a60497d605ebd3468feeb97b22c90bedd26fd59d222092
7
+ data.tar.gz: e5045a31bb7913efe020dc089cfbd6b6c5b3f068060f5240523c07f2c7d6d01fe8b74413584767c586c499bac6e69f8281ecce68061fbe4ab157361b2458088e
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/configparser.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.3"
22
22
  spec.add_development_dependency "rake"
23
+ spec.add_development_dependency "minitest"
23
24
 
24
25
  spec.signing_key = "#{File.dirname(__FILE__)}/../gem-private_key.pem"
25
26
  spec.cert_chain = ["#{File.dirname(__FILE__)}/../gem-public_cert.pem"]
data/lib/configparser.rb CHANGED
@@ -3,10 +3,14 @@ require "configparser/version"
3
3
  # DESCRIPTION: parses configuration files compatible with Python's ConfigParser
4
4
 
5
5
  class ConfigParser < Hash
6
- def initialize(fname)
6
+ def initialize(fname = nil)
7
+ self.parse(File.open(fname, "r").each_line) if fname
8
+ end
9
+
10
+ def parse(input_source)
7
11
  section = nil
8
12
  key = nil
9
- File.open(fname,"r").each_line do |line|
13
+ input_source.each do |line|
10
14
  next if (line =~ /^(#|;)/)
11
15
 
12
16
  # parse out the lines of the config
@@ -1,3 +1,3 @@
1
1
  class Configparser
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -42,4 +42,35 @@ myway: or the highway
42
42
  assert_equal('recent hotel',cp['section2']['local2'])
43
43
  assert_equal('un$(resolvable)',cp['section2']['local3'])
44
44
  end
45
+
46
+ def test_parse_from_non_file
47
+ simple_content = <<end_of_simple
48
+ test1=hi
49
+ test2 = hello
50
+
51
+ [first_section]
52
+ mytest=55
53
+ yourtest = 99
54
+ #nothere=notthere
55
+ myboolean
56
+
57
+ [second section]
58
+ myway=or the
59
+ highway
60
+ end_of_simple
61
+
62
+ cp = ConfigParser.new()
63
+ cp.parse(simple_content.each_line)
64
+ assert_equal(cp, {
65
+ "test1" => "hi",
66
+ "test2" => "hello",
67
+ "first_section" => {
68
+ "mytest" => "55",
69
+ "yourtest" => "99",
70
+ "myboolean" => true
71
+ },
72
+ "second section" => {
73
+ "myway" => "or the highway"
74
+ }})
75
+ end
45
76
  end
metadata CHANGED
@@ -1,19 +1,13 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: configparser
3
- version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 1
10
- version: 0.1.1
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.2
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - chrislee35
14
8
  autorequire:
15
9
  bindir: bin
16
- cert_chain:
10
+ cert_chain:
17
11
  - |
18
12
  -----BEGIN CERTIFICATE-----
19
13
  MIIDYjCCAkqgAwIBAgIBADANBgkqhkiG9w0BAQUFADBXMREwDwYDVQQDDAhydWJ5
@@ -36,48 +30,57 @@ cert_chain:
36
30
  jLXMQu2ZgISYwXNjNbGVHehut82U7U9oiHoWcrOGazaRUmGO9TXP+aJLH0gw2dcK
37
31
  AfMglXPi
38
32
  -----END CERTIFICATE-----
39
-
40
- date: 2013-06-02 00:00:00 Z
41
- dependencies:
42
- - !ruby/object:Gem::Dependency
33
+ date: 2014-03-05 00:00:00.000000000 Z
34
+ dependencies:
35
+ - !ruby/object:Gem::Dependency
43
36
  name: bundler
44
- version_requirements: &id001 !ruby/object:Gem::Requirement
45
- none: false
46
- requirements:
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
47
39
  - - ~>
48
- - !ruby/object:Gem::Version
49
- hash: 9
50
- segments:
51
- - 1
52
- - 3
53
- version: "1.3"
54
- prerelease: false
40
+ - !ruby/object:Gem::Version
41
+ version: '1.3'
55
42
  type: :development
56
- requirement: *id001
57
- - !ruby/object:Gem::Dependency
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: '1.3'
49
+ - !ruby/object:Gem::Dependency
58
50
  name: rake
59
- version_requirements: &id002 !ruby/object:Gem::Requirement
60
- none: false
61
- requirements:
62
- - - ">="
63
- - !ruby/object:Gem::Version
64
- hash: 3
65
- segments:
66
- - 0
67
- version: "0"
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :development
68
57
  prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: minitest
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
69
70
  type: :development
70
- requirement: *id002
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '>='
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
71
77
  description: parses configuration files compatable with Python's ConfigParser
72
- email:
78
+ email:
73
79
  - rubygems@chrislee.dhs.org
74
80
  executables: []
75
-
76
81
  extensions: []
77
-
78
82
  extra_rdoc_files: []
79
-
80
- files:
83
+ files:
81
84
  - .gitignore
82
85
  - Gemfile
83
86
  - LICENSE.txt
@@ -91,39 +94,30 @@ files:
91
94
  - test/simple.cfg
92
95
  - test/test_configparser.rb
93
96
  homepage: https://github.com/chrislee35/configparser
94
- licenses:
97
+ licenses:
95
98
  - MIT
99
+ metadata: {}
96
100
  post_install_message:
97
101
  rdoc_options: []
98
-
99
- require_paths:
102
+ require_paths:
100
103
  - lib
101
- required_ruby_version: !ruby/object:Gem::Requirement
102
- none: false
103
- requirements:
104
- - - ">="
105
- - !ruby/object:Gem::Version
106
- hash: 3
107
- segments:
108
- - 0
109
- version: "0"
110
- required_rubygems_version: !ruby/object:Gem::Requirement
111
- none: false
112
- requirements:
113
- - - ">="
114
- - !ruby/object:Gem::Version
115
- hash: 3
116
- segments:
117
- - 0
118
- version: "0"
104
+ required_ruby_version: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - '>='
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ required_rubygems_version: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - '>='
112
+ - !ruby/object:Gem::Version
113
+ version: '0'
119
114
  requirements: []
120
-
121
115
  rubyforge_project:
122
- rubygems_version: 1.8.25
116
+ rubygems_version: 2.1.11
123
117
  signing_key:
124
- specification_version: 3
118
+ specification_version: 4
125
119
  summary: parses configuration files compatable with Python's ConfigParser
126
- test_files:
120
+ test_files:
127
121
  - test/complex.cfg
128
122
  - test/helper.rb
129
123
  - test/simple.cfg
metadata.gz.sig CHANGED
Binary file