jugyo-kvs 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/kvs.rb +4 -3
- data/spec/kvs_spec.rb +5 -5
- metadata +1 -1
data/lib/kvs.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
require 'digest/sha1'
|
2
|
+
require 'yaml'
|
2
3
|
|
3
4
|
module KVS
|
4
|
-
VERSION = '0.
|
5
|
+
VERSION = '0.3.0'
|
5
6
|
|
6
7
|
class <<self
|
7
8
|
attr_accessor :dir
|
@@ -15,11 +16,11 @@ module KVS
|
|
15
16
|
def [](key)
|
16
17
|
path = file_of(key)
|
17
18
|
return nil unless File.exists?(path)
|
18
|
-
File.read(path)
|
19
|
+
YAML.load(File.read(path))
|
19
20
|
end
|
20
21
|
|
21
22
|
def []=(key, value)
|
22
|
-
File.open(file_of(key), 'wb') { |f| f << value.
|
23
|
+
File.open(file_of(key), 'wb') { |f| f << value.to_yaml }
|
23
24
|
end
|
24
25
|
|
25
26
|
def delete(key)
|
data/spec/kvs_spec.rb
CHANGED
@@ -16,14 +16,14 @@ describe KVS do
|
|
16
16
|
end
|
17
17
|
|
18
18
|
it 'should store data' do
|
19
|
-
KVS['foo'] = '
|
20
|
-
KVS['foo'].should == '
|
19
|
+
KVS['foo'] = {:a => 'b', :c => 'd'}
|
20
|
+
KVS['foo'].should == {:a => 'b', :c => 'd'}
|
21
21
|
File.exists?(KVS.file_of('foo')).should be_true
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'should store data with "<<"' do
|
25
|
-
key = KVS << '
|
26
|
-
KVS[key].should == '
|
25
|
+
key = KVS << {:a => 'b', :c => 'd'}
|
26
|
+
KVS[key].should == {:a => 'b', :c => 'd'}
|
27
27
|
File.exists?(KVS.file_of(key)).should be_true
|
28
28
|
end
|
29
29
|
|
@@ -78,7 +78,7 @@ describe KVS do
|
|
78
78
|
end
|
79
79
|
|
80
80
|
it 'should raise ArgumentError' do
|
81
|
-
lambda { KVS['foo'] = '
|
81
|
+
lambda { KVS['foo'] = {:a => 'b'} }.should raise_error(RuntimeError)
|
82
82
|
lambda { KVS['foo'] }.should raise_error(RuntimeError)
|
83
83
|
end
|
84
84
|
end
|