inireader 0.0.1 → 0.1.1

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.
Binary file
data/lib/ini_reader.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require "inireader/version"
2
2
  require "inireader/base"
3
3
 
4
- module IniReader
4
+ class IniReader
5
5
  end
@@ -1,39 +1,37 @@
1
- module IniReader
2
- class Base
3
- def initialize( string = '')
4
- @section_hash = {}
5
- parse(StringIO.new(string))
6
- end
1
+ class IniReader
2
+ def initialize( string = '')
3
+ @section_hash = {}
4
+ parse(StringIO.new(string))
5
+ end
7
6
 
8
- def self.parse(filename)
9
- reader = IniReader::Base.new
10
- reader.send(:parse, File.open(filename, "r"))
11
- return reader
12
- end
7
+ def self.parse(filename)
8
+ reader = IniReader.new
9
+ reader.send(:parse, File.open(filename, "r"))
10
+ return reader
11
+ end
13
12
 
14
- #returns the hash for a section of the inifile
15
- def []( section_name )
16
- return @section_hash[section_name]
17
- end
13
+ #returns the hash for a section of the inifile
14
+ def []( section_name )
15
+ return @section_hash[section_name]
16
+ end
18
17
 
19
- private
20
- def parse(io)
21
- current_section = nil
22
- io.each do |line|
23
- if line[0] == ';'
24
- next
25
- elsif ( matchdata = line.match(/^\[(.+)\]$/) ) != nil
26
- current_section = @section_hash[matchdata[1].to_sym] || {}
27
- @section_hash[matchdata[1].to_sym] = current_section
28
- elsif ( matchdata = line.match(/^([^=]*)=(.*)$/) )
29
- current_section[matchdata[1].to_sym] = matchdata[2].to_s
30
- elsif line.strip == ""
31
- next
32
- else
33
- raise Exception("Could not parse line: #{line}")
34
- end
18
+ private
19
+ def parse(io)
20
+ current_section = nil
21
+ io.each do |line|
22
+ line = line.strip
23
+ if line[0] == ';'
24
+ next
25
+ elsif ( matchdata = line.match(/^\[(.+)\]$/) ) != nil
26
+ current_section = @section_hash[matchdata[1].to_sym] || {}
27
+ @section_hash[matchdata[1].to_sym] = current_section
28
+ elsif ( matchdata = line.match(/^([^=]*)=(.*)$/) )
29
+ current_section[matchdata[1].to_sym] = matchdata[2].to_s
30
+ elsif line.strip == ""
31
+ next
32
+ else
33
+ raise Exception("Could not parse line: #{line}")
35
34
  end
36
35
  end
37
-
38
36
  end
39
37
  end
@@ -1,3 +1,3 @@
1
- module IniReader
2
- VERSION = "0.0.1"
1
+ class IniReader
2
+ VERSION = "0.1.1"
3
3
  end
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe IniReader do
4
4
  it "Should exist" do
5
5
  lambda do
6
- IniReader.class == Module
6
+ IniReader.class == Class
7
7
  end.should_not raise_error
8
8
  end
9
9
  end
@@ -1,12 +1,12 @@
1
- describe IniReader::Base do
1
+ describe IniReader do
2
2
  it "should exist" do
3
3
  lambda do
4
- reader = IniReader::Base.new
4
+ reader = IniReader.new
5
5
  end.should_not raise_error
6
6
  end
7
7
 
8
8
  it "should return nil if looking for a section that doesn't exist" do
9
- reader = IniReader::Base.new
9
+ reader = IniReader.new
10
10
  reader[:section_name].should == nil
11
11
  end
12
12
 
@@ -15,7 +15,7 @@ describe IniReader::Base do
15
15
  "blah blah blah\n" +
16
16
  "key1=val1\n"
17
17
  lambda do
18
- reader = IniReader::Base.new(section_string)
18
+ reader = IniReader.new(section_string)
19
19
  end.should raise_error
20
20
  end
21
21
 
@@ -24,7 +24,7 @@ describe IniReader::Base do
24
24
  ";blah blah blah\n" +
25
25
  "key1=val1\n"
26
26
  lambda do
27
- reader = IniReader::Base.new(section_string)
27
+ reader = IniReader.new(section_string)
28
28
  end.should_not raise_error
29
29
  end
30
30
 
@@ -33,21 +33,21 @@ describe IniReader::Base do
33
33
  "\n" +
34
34
  "key1=val1\n"
35
35
  lambda do
36
- reader = IniReader::Base.new(section_string)
36
+ reader = IniReader.new(section_string)
37
37
  end.should_not raise_error
38
38
  end
39
39
 
40
40
  describe "sections" do
41
41
  it "should add a section when it sees a section header" do
42
42
  section_string = "[section_name]\n"
43
- reader = IniReader::Base.new(section_string)
43
+ reader = IniReader.new(section_string)
44
44
  reader[:section_name].should_not == nil
45
45
  end
46
46
 
47
47
  it "should allow for different section names" do
48
48
  section_string = "[section_name]\n" +
49
49
  "[section_name_2]\n"
50
- reader = IniReader::Base.new(section_string)
50
+ reader = IniReader.new(section_string)
51
51
  reader[:section_name].should_not == nil
52
52
  reader[:section_name_2].should_not == nil
53
53
  end
@@ -55,7 +55,7 @@ describe IniReader::Base do
55
55
  it "should force the section to have a name" do
56
56
  section_string = "[]\n"
57
57
  lambda do
58
- reader = IniReader::Base.new(section_string)
58
+ reader = IniReader.new(section_string)
59
59
  end.should raise_error
60
60
  end
61
61
  end
@@ -65,14 +65,14 @@ describe IniReader::Base do
65
65
  section_string = "[section_name]\n" +
66
66
  "key1=val1\n"
67
67
  lambda do
68
- reader = IniReader::Base.new(section_string)
68
+ reader = IniReader.new(section_string)
69
69
  end.should_not raise_error
70
70
  end
71
71
 
72
72
  it "should add a pair to the associated section" do
73
73
  section_string = "[section_name]\n" +
74
74
  "key1=val1\n"
75
- reader = IniReader::Base.new(section_string)
75
+ reader = IniReader.new(section_string)
76
76
  reader[:section_name].class.should == Hash
77
77
  reader[:section_name][:key1].should == "val1"
78
78
  end
@@ -81,7 +81,7 @@ describe IniReader::Base do
81
81
  section_string = "[section_name]\n" +
82
82
  "[section_name2]\n" +
83
83
  "key1=val1\n"
84
- reader = IniReader::Base.new(section_string)
84
+ reader = IniReader.new(section_string)
85
85
  reader[:section_name][:key1].should == nil
86
86
  end
87
87
 
@@ -90,7 +90,7 @@ describe IniReader::Base do
90
90
  "key1=val1\n" +
91
91
  "[section_name]\n" +
92
92
  "key3=val3\n"
93
- reader = IniReader::Base.new(section_string)
93
+ reader = IniReader.new(section_string)
94
94
  reader[:section_name][:key3].should == "val3"
95
95
  end
96
96
 
@@ -99,7 +99,7 @@ describe IniReader::Base do
99
99
  "key1=val1\n" +
100
100
  "[section_name]\n" +
101
101
  "key3=val3\n"
102
- reader = IniReader::Base.new(section_string)
102
+ reader = IniReader.new(section_string)
103
103
  reader[:section_name][:key1].should == "val1"
104
104
  end
105
105
  end
@@ -117,7 +117,7 @@ describe IniReader::Base do
117
117
  outfile = File.new("./string", "w")
118
118
  outfile.write(string)
119
119
  outfile.close
120
- reader = IniReader::Base.parse("./string")
120
+ reader = IniReader.parse("./string")
121
121
  reader[:section].should == {key1: "val3", key2: "val2"}
122
122
  reader[:section2].should == {key1:"key2=val1", key3:"val2"}
123
123
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inireader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -103,6 +103,7 @@ files:
103
103
  - Gemfile
104
104
  - README.md
105
105
  - Rakefile
106
+ - inireader-0.0.1.gem
106
107
  - inireader.gemspec
107
108
  - lib/ini_reader.rb
108
109
  - lib/inireader/base.rb