rufus-cloche 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.txt CHANGED
@@ -2,6 +2,11 @@
2
2
  = rufus-cloche CHANGELOG.txt
3
3
 
4
4
 
5
+ == rufus-cloche - 0.1.4 released 2009/12/14
6
+
7
+ - ArgumentError raised in case of delete(doc) that has no _rev
8
+
9
+
5
10
  == rufus-cloche - 0.1.3 released 2009/12/10
6
11
 
7
12
  - added the :limit option to Cloche#get_many
data/lib/rufus/cloche.rb CHANGED
@@ -57,7 +57,7 @@ module Rufus
57
57
  end
58
58
  end
59
59
 
60
- VERSION = '0.1.3'
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'] != doc['_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.3
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-10 00:00:00 +09:00
12
+ date: 2009-12-14 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15