ruote-couch 2.1.8 → 2.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 +8 -1
- data/Rakefile +17 -1
- data/TODO.txt +1 -3
- data/lib/ruote/couch/database.rb +35 -16
- data/lib/ruote/couch/storage.rb +15 -2
- data/lib/ruote/couch/version.rb +1 -1
- data/ruote-couch.gemspec +14 -9
- data/test/integration_connection.rb +2 -0
- data/test/test.rb +1 -0
- data/test/unit/test.rb +9 -0
- data/test/unit/ut_0_design_doc.rb +28 -0
- metadata +22 -8
data/CHANGELOG.txt
CHANGED
@@ -2,9 +2,16 @@
|
|
2
2
|
= ruote-couch - CHANGELOG.txt
|
3
3
|
|
4
4
|
|
5
|
+
== ruote-couch 2.1.9 not yet released
|
6
|
+
|
7
|
+
- trusting rufus-jig : not closing couches anymore
|
8
|
+
- CouchStorage#clear and purge cleanup
|
9
|
+
|
10
|
+
|
5
11
|
== ruote-couch 2.1.8 released 2010/03/15
|
6
12
|
|
7
|
-
- '
|
13
|
+
- 'couch_timeout' configuration parameter
|
14
|
+
- 'couch_prefix' and :prefix as configuration parameter
|
8
15
|
|
9
16
|
|
10
17
|
== ruote-couch 2.1.7 released 2010/02/15
|
data/Rakefile
CHANGED
@@ -33,14 +33,30 @@ CouchDB storage for ruote 2.1 (ruby workflow engine)
|
|
33
33
|
gem.test_file = 'test/test.rb'
|
34
34
|
|
35
35
|
gem.add_dependency 'ruote', ">= #{Ruote::Couch::VERSION}"
|
36
|
-
gem.add_dependency 'rufus-jig', '>= 0.1.
|
36
|
+
gem.add_dependency 'rufus-jig', '>= 0.1.17'
|
37
37
|
gem.add_development_dependency 'yard'
|
38
|
+
gem.add_development_dependency 'rake'
|
38
39
|
gem.add_development_dependency 'jeweler'
|
39
40
|
|
40
41
|
# gemspec spec : http://www.rubygems.org/read/chapter/20
|
41
42
|
end
|
42
43
|
Jeweler::GemcutterTasks.new
|
43
44
|
|
45
|
+
#
|
46
|
+
# MISC
|
47
|
+
|
48
|
+
task :delete_all_test_databases do
|
49
|
+
|
50
|
+
require 'json'
|
51
|
+
require 'rufus/jig'
|
52
|
+
couch = Rufus::Jig::Couch.new('127.0.0.1', 5984)
|
53
|
+
%w[
|
54
|
+
configurations errors expressions msgs schedules variables workitems
|
55
|
+
].each do |type|
|
56
|
+
couch.delete("/test_ruote_#{type}")
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
44
60
|
|
45
61
|
#
|
46
62
|
# DOC
|
data/TODO.txt
CHANGED
data/lib/ruote/couch/database.rb
CHANGED
@@ -105,25 +105,25 @@ module Ruote::Couch
|
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
-
def shutdown
|
108
|
+
#def shutdown
|
109
|
+
# @couch.close
|
110
|
+
#end
|
111
|
+
# jig > 0.1.17 is OK without that
|
109
112
|
|
110
|
-
|
111
|
-
end
|
112
|
-
|
113
|
-
# Deletes database and closes it.
|
113
|
+
# Deletes all the documents in this database.
|
114
114
|
#
|
115
115
|
def purge!
|
116
116
|
|
117
|
-
@couch.
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
117
|
+
@couch.get('_all_docs')['rows'].each do |row|
|
118
|
+
doc = { '_id' => row['id'], '_rev' => row['value']['rev'] }
|
119
|
+
@couch.delete(doc) unless doc['_id'].match(/^\_design\//)
|
120
|
+
end
|
121
|
+
#
|
122
|
+
# which is faster than
|
123
|
+
#
|
124
|
+
#@couch.delete('.')
|
125
|
+
#@couch.put('.')
|
126
|
+
#@couch.http.cache.clear
|
127
127
|
end
|
128
128
|
|
129
129
|
protected
|
@@ -189,6 +189,13 @@ module Ruote::Couch
|
|
189
189
|
get_many(/!#{wfid}$/, {})
|
190
190
|
end
|
191
191
|
|
192
|
+
# Returns the design document that goes with this class of database
|
193
|
+
#
|
194
|
+
def self.design_doc
|
195
|
+
|
196
|
+
self.allocate.send(:design_doc)
|
197
|
+
end
|
198
|
+
|
192
199
|
protected
|
193
200
|
|
194
201
|
def design_doc
|
@@ -207,7 +214,12 @@ module Ruote::Couch
|
|
207
214
|
def prepare
|
208
215
|
|
209
216
|
d = @couch.get('_design/ruote')
|
210
|
-
|
217
|
+
|
218
|
+
return if d && d['views'] == design_doc['views']
|
219
|
+
|
220
|
+
d ||= design_doc
|
221
|
+
d['views'] = design_doc['views']
|
222
|
+
|
211
223
|
@couch.put(design_doc)
|
212
224
|
end
|
213
225
|
end
|
@@ -274,6 +286,13 @@ module Ruote::Couch
|
|
274
286
|
hwis.collect { |hwi| Ruote::Workitem.new(hwi) }
|
275
287
|
end
|
276
288
|
|
289
|
+
# Returns the design document that goes with this class of database
|
290
|
+
#
|
291
|
+
def self.design_doc
|
292
|
+
|
293
|
+
self.allocate.send(:design_doc)
|
294
|
+
end
|
295
|
+
|
277
296
|
protected
|
278
297
|
|
279
298
|
def design_doc
|
data/lib/ruote/couch/storage.rb
CHANGED
@@ -120,6 +120,19 @@ module Couch
|
|
120
120
|
def purge!
|
121
121
|
|
122
122
|
@dbs.values.each { |db| db.purge! }
|
123
|
+
#@dbs.values.each { |db| db.shutdown }
|
124
|
+
end
|
125
|
+
|
126
|
+
# Used when doing integration tests, removes all
|
127
|
+
# msgs, schedules, errors, expressions and workitems.
|
128
|
+
#
|
129
|
+
# NOTE that it doesn't remove engine variables (danger)
|
130
|
+
#
|
131
|
+
def clear
|
132
|
+
|
133
|
+
%w[ msgs schedules errors expressions workitems ].each do |type|
|
134
|
+
@dbs[type].purge!
|
135
|
+
end
|
123
136
|
end
|
124
137
|
|
125
138
|
def dump (type)
|
@@ -131,7 +144,7 @@ module Couch
|
|
131
144
|
|
132
145
|
@poller.kill if @poller
|
133
146
|
|
134
|
-
|
147
|
+
#@dbs.values.each { |db| db.shutdown }
|
135
148
|
end
|
136
149
|
|
137
150
|
# Mainly used by ruote's test/unit/ut_17_storage.rb
|
@@ -147,7 +160,7 @@ module Couch
|
|
147
160
|
def purge_type! (type)
|
148
161
|
|
149
162
|
if db = @dbs[type]
|
150
|
-
db.
|
163
|
+
db.purge!
|
151
164
|
end
|
152
165
|
end
|
153
166
|
|
data/lib/ruote/couch/version.rb
CHANGED
data/ruote-couch.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ruote-couch}
|
8
|
-
s.version = "2.1.
|
8
|
+
s.version = "2.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"]
|
12
|
-
s.date = %q{2010-03-
|
12
|
+
s.date = %q{2010-03-23}
|
13
13
|
s.description = %q{CouchDB storage for ruote 2.1 (ruby workflow engine)}
|
14
14
|
s.email = %q{jmettraux@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -32,7 +32,9 @@ Gem::Specification.new do |s|
|
|
32
32
|
"test/functional/ft_0_long_polling.rb",
|
33
33
|
"test/functional/test.rb",
|
34
34
|
"test/integration_connection.rb",
|
35
|
-
"test/test.rb"
|
35
|
+
"test/test.rb",
|
36
|
+
"test/unit/test.rb",
|
37
|
+
"test/unit/ut_0_design_doc.rb"
|
36
38
|
]
|
37
39
|
s.homepage = %q{http://github.com/jmettraux/ruote-couch}
|
38
40
|
s.rdoc_options = ["--charset=UTF-8"]
|
@@ -49,20 +51,23 @@ Gem::Specification.new do |s|
|
|
49
51
|
s.specification_version = 3
|
50
52
|
|
51
53
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
52
|
-
s.add_runtime_dependency(%q<ruote>, [">= 2.1.
|
53
|
-
s.add_runtime_dependency(%q<rufus-jig>, [">= 0.1.
|
54
|
+
s.add_runtime_dependency(%q<ruote>, [">= 2.1.9"])
|
55
|
+
s.add_runtime_dependency(%q<rufus-jig>, [">= 0.1.17"])
|
54
56
|
s.add_development_dependency(%q<yard>, [">= 0"])
|
57
|
+
s.add_development_dependency(%q<rake>, [">= 0"])
|
55
58
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
56
59
|
else
|
57
|
-
s.add_dependency(%q<ruote>, [">= 2.1.
|
58
|
-
s.add_dependency(%q<rufus-jig>, [">= 0.1.
|
60
|
+
s.add_dependency(%q<ruote>, [">= 2.1.9"])
|
61
|
+
s.add_dependency(%q<rufus-jig>, [">= 0.1.17"])
|
59
62
|
s.add_dependency(%q<yard>, [">= 0"])
|
63
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
60
64
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
61
65
|
end
|
62
66
|
else
|
63
|
-
s.add_dependency(%q<ruote>, [">= 2.1.
|
64
|
-
s.add_dependency(%q<rufus-jig>, [">= 0.1.
|
67
|
+
s.add_dependency(%q<ruote>, [">= 2.1.9"])
|
68
|
+
s.add_dependency(%q<rufus-jig>, [">= 0.1.17"])
|
65
69
|
s.add_dependency(%q<yard>, [">= 0"])
|
70
|
+
s.add_dependency(%q<rake>, [">= 0"])
|
66
71
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
67
72
|
end
|
68
73
|
end
|
data/test/test.rb
CHANGED
data/test/unit/test.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
#
|
3
|
+
# testing ruote-couch
|
4
|
+
#
|
5
|
+
# Thu Mar 18 09:15:11 JST 2010
|
6
|
+
#
|
7
|
+
|
8
|
+
#require File.join(File.dirname(__FILE__), 'base')
|
9
|
+
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', '..', 'ruote', 'lib'))
|
10
|
+
$:.unshift(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
|
11
|
+
require 'test/unit'
|
12
|
+
require 'ruote/couch'
|
13
|
+
|
14
|
+
|
15
|
+
class UtDesignDocTest < Test::Unit::TestCase
|
16
|
+
|
17
|
+
#def setup
|
18
|
+
#end
|
19
|
+
#def teardown
|
20
|
+
#end
|
21
|
+
|
22
|
+
def test_design_docs
|
23
|
+
|
24
|
+
assert_equal Hash, Ruote::Couch::WfidIndexedDatabase.design_doc.class
|
25
|
+
assert_equal Hash, Ruote::Couch::WorkitemDatabase.design_doc.class
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 2
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 2.1.
|
8
|
+
- 9
|
9
|
+
version: 2.1.9
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- John Mettraux
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-03-
|
17
|
+
date: 2010-03-23 00:00:00 +09:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -27,8 +27,8 @@ dependencies:
|
|
27
27
|
segments:
|
28
28
|
- 2
|
29
29
|
- 1
|
30
|
-
-
|
31
|
-
version: 2.1.
|
30
|
+
- 9
|
31
|
+
version: 2.1.9
|
32
32
|
type: :runtime
|
33
33
|
version_requirements: *id001
|
34
34
|
- !ruby/object:Gem::Dependency
|
@@ -41,8 +41,8 @@ dependencies:
|
|
41
41
|
segments:
|
42
42
|
- 0
|
43
43
|
- 1
|
44
|
-
-
|
45
|
-
version: 0.1.
|
44
|
+
- 17
|
45
|
+
version: 0.1.17
|
46
46
|
type: :runtime
|
47
47
|
version_requirements: *id002
|
48
48
|
- !ruby/object:Gem::Dependency
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
type: :development
|
59
59
|
version_requirements: *id003
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
|
-
name:
|
61
|
+
name: rake
|
62
62
|
prerelease: false
|
63
63
|
requirement: &id004 !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
@@ -69,6 +69,18 @@ dependencies:
|
|
69
69
|
version: "0"
|
70
70
|
type: :development
|
71
71
|
version_requirements: *id004
|
72
|
+
- !ruby/object:Gem::Dependency
|
73
|
+
name: jeweler
|
74
|
+
prerelease: false
|
75
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
segments:
|
80
|
+
- 0
|
81
|
+
version: "0"
|
82
|
+
type: :development
|
83
|
+
version_requirements: *id005
|
72
84
|
description: CouchDB storage for ruote 2.1 (ruby workflow engine)
|
73
85
|
email: jmettraux@gmail.com
|
74
86
|
executables: []
|
@@ -95,6 +107,8 @@ files:
|
|
95
107
|
- test/functional/test.rb
|
96
108
|
- test/integration_connection.rb
|
97
109
|
- test/test.rb
|
110
|
+
- test/unit/test.rb
|
111
|
+
- test/unit/ut_0_design_doc.rb
|
98
112
|
has_rdoc: true
|
99
113
|
homepage: http://github.com/jmettraux/ruote-couch
|
100
114
|
licenses: []
|