rufus-cloche 0.1.3 → 0.1.4
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.
- data/CHANGELOG.txt +5 -0
- data/lib/rufus/cloche.rb +6 -2
- data/test/test.rb +9 -2
- metadata +2 -2
data/CHANGELOG.txt
CHANGED
data/lib/rufus/cloche.rb
CHANGED
@@ -57,7 +57,7 @@ module Rufus
|
|
57
57
|
end
|
58
58
|
end
|
59
59
|
|
60
|
-
VERSION = '0.1.
|
60
|
+
VERSION = '0.1.4'
|
61
61
|
|
62
62
|
attr_reader :dir
|
63
63
|
|
@@ -135,6 +135,10 @@ module Rufus
|
|
135
135
|
#
|
136
136
|
def delete (doc)
|
137
137
|
|
138
|
+
drev = doc['_rev']
|
139
|
+
|
140
|
+
raise ArgumentError.new('cannot delete doc without _rev') unless drev
|
141
|
+
|
138
142
|
type, key = doc['type'], doc['_id']
|
139
143
|
|
140
144
|
lock(type, key) do |f|
|
@@ -142,7 +146,7 @@ module Rufus
|
|
142
146
|
cur = do_get(f)
|
143
147
|
|
144
148
|
return nil unless cur
|
145
|
-
return cur if cur['_rev'] !=
|
149
|
+
return cur if cur['_rev'] != drev
|
146
150
|
|
147
151
|
begin
|
148
152
|
File.delete(f.path)
|
data/test/test.rb
CHANGED
@@ -80,7 +80,7 @@ class ClocheTest < Test::Unit::TestCase
|
|
80
80
|
|
81
81
|
def test_delete_missing
|
82
82
|
|
83
|
-
r = @c.delete({ '_id' => 'john', 'type' => 'person', 'eyes' => 'green' })
|
83
|
+
r = @c.delete({ '_id' => 'john', 'type' => 'person', 'eyes' => 'green', '_rev' => 7 })
|
84
84
|
|
85
85
|
assert_not_nil r
|
86
86
|
end
|
@@ -99,11 +99,18 @@ class ClocheTest < Test::Unit::TestCase
|
|
99
99
|
|
100
100
|
@c.put({ '_id' => 'john', 'type' => 'person', 'eyes' => 'green' })
|
101
101
|
|
102
|
-
r = @c.delete({ '_id' => 'john', 'type' => 'person', 'eyes' => 'green' })
|
102
|
+
r = @c.delete({ '_id' => 'john', 'type' => 'person', 'eyes' => 'green', '_rev' => 9 })
|
103
103
|
|
104
104
|
assert_not_nil r
|
105
105
|
end
|
106
106
|
|
107
|
+
def test_delete_without_rev
|
108
|
+
|
109
|
+
assert_raise(ArgumentError) do
|
110
|
+
@c.delete({ '_id' => 'john', 'type' => 'person' })
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
107
114
|
def test_get_many
|
108
115
|
|
109
116
|
load_people
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rufus-cloche
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Mettraux
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-12-
|
12
|
+
date: 2009-12-14 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|