dot-properties 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -28,7 +28,7 @@ Or install it yourself as:
28
28
  require 'dot_properties'
29
29
 
30
30
  # Load a .properties file
31
- props = DotProperties.new('sample.properties')
31
+ props = DotProperties.load('sample.properties')
32
32
 
33
33
  # Get a value
34
34
  props['foo']
@@ -58,6 +58,7 @@ See the spec tests and fixture data for more examples.
58
58
 
59
59
  ## History
60
60
 
61
+ - <b>0.1.1</b> - Fix mishandled keys with leading whitespace (#1)
61
62
  - <b>0.1.0</b> - Initial release
62
63
 
63
64
  ## Copyright
@@ -124,7 +124,7 @@ class DotProperties
124
124
  elsif item =~ /^\s*$/
125
125
  { type: :blank, value: item }
126
126
  else
127
- key, delimiter, value = item.split /(\s*(?<!\\)[\s:=]\s*)/, 2
127
+ key, delimiter, value = item.strip.split /(\s*(?<!\\)[\s:=]\s*)/, 2
128
128
  { type: :value, key: unescape(key), delimiter: delimiter, value: value.to_s.gsub(/\\\n\s*/,'') }
129
129
  end
130
130
  end
@@ -1,3 +1,3 @@
1
1
  class DotProperties
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -10,15 +10,15 @@ describe DotProperties do
10
10
  let(:propfile) { File.expand_path('../fixtures/sample.properties', __FILE__) }
11
11
  subject { DotProperties.load(propfile) }
12
12
 
13
- let(:properties) { 16 }
14
- let(:comments) { 14 }
15
- let(:blanks) { 8 }
13
+ let(:properties) { 19 }
14
+ let(:comments) { 15 }
15
+ let(:blanks) { 10 }
16
16
 
17
17
  it { should be_an_instance_of(DotProperties) }
18
18
 
19
19
  describe "values" do
20
20
  it "should have the right number of properties" do
21
- expect(subject.keys.length).to eq(16)
21
+ expect(subject.keys.length).to eq(properties)
22
22
  end
23
23
 
24
24
  it "should have the right values" do
@@ -32,6 +32,9 @@ describe DotProperties do
32
32
  expect(subject['foo bar:baz= quux']).to eq('this is getting ridiculous')
33
33
  expect(subject['lots of fruit']).to eq('apple, peach, kiwi, mango, banana, strawberry, raspberry')
34
34
  expect(subject['some.veggies']).to eq('carrot, potato, broccoli')
35
+ expect(subject['space.key1']).to eq('space.Value1')
36
+ expect(subject['space.key2']).to eq('space.Value2')
37
+ expect(subject['space.key3']).to eq('space.Multi word value')
35
38
  expect(subject['foo.empty']).to be_empty
36
39
  expect(subject['bar.empty']).to be_empty
37
40
  expect(subject['baz.empty']).to be_empty
@@ -31,6 +31,12 @@ some.veggies=carrot, \
31
31
  potato, \
32
32
  broccoli
33
33
 
34
+ # Leading spaces
35
+
36
+ space.key1 = space.Value1
37
+ space.key2:space.Value2
38
+ space.key3 :space.Multi word value
39
+
34
40
  # Empty values
35
41
  foo.empty
36
42
  bar.empty=
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dot-properties
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-27 00:00:00.000000000 Z
12
+ date: 2013-12-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -123,18 +123,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
123
  - - ! '>='
124
124
  - !ruby/object:Gem::Version
125
125
  version: '0'
126
- segments:
127
- - 0
128
- hash: -1306251061274732022
129
126
  required_rubygems_version: !ruby/object:Gem::Requirement
130
127
  none: false
131
128
  requirements:
132
129
  - - ! '>='
133
130
  - !ruby/object:Gem::Version
134
131
  version: '0'
135
- segments:
136
- - 0
137
- hash: -1306251061274732022
138
132
  requirements: []
139
133
  rubyforge_project:
140
134
  rubygems_version: 1.8.23
@@ -145,3 +139,4 @@ summary: Read/write .properties files, respecting comments and existing formatti
145
139
  test_files:
146
140
  - spec/dot_properties_spec.rb
147
141
  - spec/fixtures/sample.properties
142
+ has_rdoc: