rufus-jig 0.1.8 → 0.1.9
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 +6 -0
- data/lib/rufus/jig/couch.rb +6 -5
- data/lib/rufus/jig/version.rb +1 -1
- data/rufus-jig.gemspec +3 -2
- data/test/couch_base.rb +1 -1
- data/test/ct_1_couchdb.rb +32 -8
- data/test/ct_2_couchdb_options.rb +51 -0
- metadata +3 -2
data/CHANGELOG.txt
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
|
2
2
|
= rufus-jig CHANGELOG.txt
|
3
3
|
|
4
|
+
== rufus-jig - 0.1.9 released 2009/12/29
|
5
|
+
|
6
|
+
- Couch now handling conflict re-get by itself
|
7
|
+
- :re_put_ok => false option for Rufus::Jig::Couch
|
8
|
+
(refusing puts on deleted documents)
|
9
|
+
|
4
10
|
|
5
11
|
== rufus-jig - 0.1.8 released 2009/12/25
|
6
12
|
|
data/lib/rufus/jig/couch.rb
CHANGED
@@ -49,16 +49,17 @@ module Rufus::Jig
|
|
49
49
|
[ doc_or_path['_id'], doc_or_path ]
|
50
50
|
end
|
51
51
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
52
|
+
if @opts[:re_put_ok] == false && payload['_rev']
|
53
|
+
cur = get(path)
|
54
|
+
return true if cur.nil?
|
55
|
+
return cur if cur['_rev'] != payload['_rev']
|
56
|
+
end
|
56
57
|
|
57
58
|
path = adjust(path)
|
58
59
|
|
59
60
|
r = @http.put(path, payload, :content_type => :json, :cache => false)
|
60
61
|
|
61
|
-
return
|
62
|
+
return @http.get(path) if r == true
|
62
63
|
# conflict
|
63
64
|
|
64
65
|
if opts[:update_rev] && doc_or_path.is_a?(Hash)
|
data/lib/rufus/jig/version.rb
CHANGED
data/rufus-jig.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rufus-jig}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.9"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["John Mettraux", "Kenneth Kalmer"]
|
12
|
-
s.date = %q{2009-12-
|
12
|
+
s.date = %q{2009-12-29}
|
13
13
|
s.description = %q{
|
14
14
|
Json Internet Get.
|
15
15
|
|
@@ -41,6 +41,7 @@ Gem::Specification.new do |s|
|
|
41
41
|
"test/couch_base.rb",
|
42
42
|
"test/ct_0_couch.rb",
|
43
43
|
"test/ct_1_couchdb.rb",
|
44
|
+
"test/ct_2_couchdb_options.rb",
|
44
45
|
"test/server.rb",
|
45
46
|
"test/test.rb",
|
46
47
|
"test/ut_0_http_get.rb",
|
data/test/couch_base.rb
CHANGED
data/test/ct_1_couchdb.rb
CHANGED
@@ -33,7 +33,7 @@ class CtCouchDbTest < Test::Unit::TestCase
|
|
33
33
|
@c.close
|
34
34
|
end
|
35
35
|
|
36
|
-
def
|
36
|
+
def test_put
|
37
37
|
|
38
38
|
r = @c.put('_id' => 'coffee0', 'type' => 'espresso')
|
39
39
|
|
@@ -44,11 +44,21 @@ class CtCouchDbTest < Test::Unit::TestCase
|
|
44
44
|
assert_not_nil doc['_rev']
|
45
45
|
end
|
46
46
|
|
47
|
-
def
|
47
|
+
def test_put_fail
|
48
48
|
|
49
49
|
r = @c.put('_id' => 'coffee1', 'type' => 'espresso')
|
50
50
|
|
51
|
-
|
51
|
+
assert_match /^1-.+$/, r['_rev']
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_put_conflict
|
55
|
+
|
56
|
+
r = @c.put(
|
57
|
+
'_id' => 'coffee1',
|
58
|
+
'type' => 'espresso',
|
59
|
+
'_rev' => '2-47844552aae09c41a0ffffffffffffff')
|
60
|
+
|
61
|
+
assert_match /^1-.+$/, r['_rev']
|
52
62
|
end
|
53
63
|
|
54
64
|
def test_put_update_rev
|
@@ -73,21 +83,35 @@ class CtCouchDbTest < Test::Unit::TestCase
|
|
73
83
|
assert_not_equal rev, doc['_rev']
|
74
84
|
end
|
75
85
|
|
76
|
-
def
|
86
|
+
def test_re_put
|
87
|
+
|
88
|
+
doc = @c.get('coffee1')
|
89
|
+
@c.delete(doc)
|
90
|
+
|
91
|
+
assert_nil @c.get('coffee1')
|
92
|
+
|
93
|
+
doc['whatever'] = 'else'
|
94
|
+
|
95
|
+
r = @c.put(doc)
|
96
|
+
|
97
|
+
assert_not_nil @c.get('coffee1')['_rev']
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_get
|
77
101
|
|
78
102
|
doc = @c.get('coffee1')
|
79
103
|
|
80
104
|
assert_not_nil doc['_rev']
|
81
105
|
end
|
82
106
|
|
83
|
-
def
|
107
|
+
def test_get_404
|
84
108
|
|
85
109
|
doc = @c.get('tea0')
|
86
110
|
|
87
111
|
assert_nil doc
|
88
112
|
end
|
89
113
|
|
90
|
-
def
|
114
|
+
def test_delete
|
91
115
|
|
92
116
|
doc = @c.get('coffee1')
|
93
117
|
|
@@ -99,7 +123,7 @@ class CtCouchDbTest < Test::Unit::TestCase
|
|
99
123
|
Rufus::Jig::Http.new('127.0.0.1', 5984).get('/rufus_jig_test/coffee1'))
|
100
124
|
end
|
101
125
|
|
102
|
-
def
|
126
|
+
def test_delete_2_args
|
103
127
|
|
104
128
|
doc = @c.get('coffee1')
|
105
129
|
|
@@ -109,7 +133,7 @@ class CtCouchDbTest < Test::Unit::TestCase
|
|
109
133
|
Rufus::Jig::Http.new('127.0.0.1', 5984).get('/rufus_jig_test/coffee1'))
|
110
134
|
end
|
111
135
|
|
112
|
-
def
|
136
|
+
def test_delete_conflict
|
113
137
|
|
114
138
|
doc = @c.get('coffee1')
|
115
139
|
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# testing rufus-jig
|
4
|
+
#
|
5
|
+
# Tue Dec 29 14:45:22 JST 2009
|
6
|
+
#
|
7
|
+
|
8
|
+
require File.join(File.dirname(__FILE__), 'couch_base')
|
9
|
+
|
10
|
+
|
11
|
+
class CtCouchDbOptionsTest < Test::Unit::TestCase
|
12
|
+
|
13
|
+
def setup
|
14
|
+
|
15
|
+
h = Rufus::Jig::Http.new('127.0.0.1', 5984)
|
16
|
+
|
17
|
+
begin
|
18
|
+
h.delete('/rufus_jig_test')
|
19
|
+
rescue Exception => e
|
20
|
+
#p e
|
21
|
+
end
|
22
|
+
|
23
|
+
h.put('/rufus_jig_test', '')
|
24
|
+
h.put('/rufus_jig_test/coffee1', '{"_id":"coffee1","type":"ristretto"}')
|
25
|
+
|
26
|
+
h.close
|
27
|
+
|
28
|
+
@c = Rufus::Jig::Couch.new(
|
29
|
+
'127.0.0.1', 5984, 'rufus_jig_test', :re_put_ok => false)
|
30
|
+
end
|
31
|
+
|
32
|
+
def teardown
|
33
|
+
|
34
|
+
@c.close
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_put_gone
|
38
|
+
|
39
|
+
doc = @c.get('coffee1')
|
40
|
+
@c.delete(doc)
|
41
|
+
|
42
|
+
assert_nil @c.get('coffee1')
|
43
|
+
|
44
|
+
doc['whatever'] = 'else'
|
45
|
+
|
46
|
+
r = @c.put(doc)
|
47
|
+
|
48
|
+
assert_equal true, r
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rufus-jig
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Mettraux
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-12-
|
13
|
+
date: 2009-12-29 00:00:00 +09:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -71,6 +71,7 @@ files:
|
|
71
71
|
- test/couch_base.rb
|
72
72
|
- test/ct_0_couch.rb
|
73
73
|
- test/ct_1_couchdb.rb
|
74
|
+
- test/ct_2_couchdb_options.rb
|
74
75
|
- test/server.rb
|
75
76
|
- test/test.rb
|
76
77
|
- test/ut_0_http_get.rb
|