ruote-dm 2.1.6 → 2.1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,5 +2,13 @@
2
2
  = ruote-dm - CHANGELOG.txt
3
3
 
4
4
 
5
- == ruote-dm 2.1.6 not yet released
5
+ == ruote-dm 2.1.7 released 2010/02/15
6
+
7
+ - adapted to latest Ruote::StorageHistory
8
+ - implemented DmStorage#query_workitems
9
+
10
+
11
+ == ruote-dm 2.1.6 released 2010/02/07
12
+
13
+ - first release
6
14
 
data/Rakefile CHANGED
@@ -21,9 +21,9 @@ Jeweler::Tasks.new do |gem|
21
21
 
22
22
  gem.version = Ruote::Dm::VERSION
23
23
  gem.name = 'ruote-dm'
24
- gem.summary = 'datamapper storage for ruote 2.1'
24
+ gem.summary = 'datamapper storage for ruote (a ruby workflow engine)'
25
25
  gem.description = %{
26
- datamapper storage for ruote 2.1
26
+ datamapper storage for ruote (a ruby workflow engine)
27
27
  }.strip
28
28
  gem.email = 'jmettraux@gmail.com'
29
29
  gem.homepage = 'http://github.com/jmettraux/ruote-dm'
@@ -36,7 +36,8 @@ datamapper storage for ruote 2.1
36
36
  gem.add_dependency 'dm-core'
37
37
  #gem.add_dependency 'dm-aggregates'
38
38
  #gem.add_dependency 'dm-types'
39
- gem.add_development_dependency 'yard', '>= 0'
39
+ gem.add_development_dependency 'yard'
40
+ gem.add_development_dependency 'jeweler'
40
41
 
41
42
  # gemspec spec : http://www.rubygems.org/read/chapter/20
42
43
  end
data/TODO.txt CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  [ ] storage : control #save result
3
- [ ] examine indices (participant_name ?)
3
+ [ ] examine indices (index) (participant_name ?) perf perf perf
4
4
 
5
5
  [ ] investigate ct_0_ weakness
6
6
 
@@ -41,6 +41,9 @@ module Dm
41
41
  property :participant_name, String, :length => 512
42
42
  end
43
43
 
44
+ #
45
+ # A datamapper-powered storage for ruote.
46
+ #
44
47
  class DmStorage
45
48
 
46
49
  include Ruote::StorageBase
@@ -126,14 +129,13 @@ module Dm
126
129
  end
127
130
 
128
131
  if key
129
- key = if m = key.source.match(/(.+)\$$/)
132
+ q[:ide.like] = if m = key.source.match(/(.+)\$$/)
130
133
  "%#{m[1]}"
131
134
  elsif m = key.source.match(/^\^(.+)/)
132
135
  "#{m[1]}%"
133
136
  else
134
- key
137
+ "%#{key.source}%"
135
138
  end
136
- q[:ide.like] = key
137
139
  end
138
140
 
139
141
  DataMapper.repository(@repository) do
@@ -209,6 +211,32 @@ module Dm
209
211
  }
210
212
  end
211
213
 
214
+ def query_workitems (criteria)
215
+
216
+ offset = criteria.delete('offset')
217
+ limit = criteria.delete('limit')
218
+
219
+ wfid =
220
+ criteria.delete('wfid')
221
+ pname =
222
+ criteria.delete('participant_name') || criteria.delete('participant')
223
+
224
+ cr = { :typ => 'workitems' }
225
+
226
+ cr[:ide.like] = "%!#{wfid}" if wfid
227
+ cr[:offset] = offset if offset
228
+ cr[:limit] = limit if limit
229
+ cr[:participant_name] = pname if pname
230
+
231
+ criteria.each do |k, v|
232
+ cr[:doc.like] = "%\"#{k}\":#{Rufus::Json.encode(v)}%"
233
+ end
234
+
235
+ Document.all(cr).collect { |d|
236
+ Ruote::Workitem.new(Rufus::Json.decode(d.doc))
237
+ }
238
+ end
239
+
212
240
  protected
213
241
 
214
242
  # Don't put configuration if it's already in
@@ -1,7 +1,7 @@
1
1
 
2
2
  module Ruote
3
3
  module Dm
4
- VERSION = '2.1.6'
4
+ VERSION = '2.1.7'
5
5
  end
6
6
  end
7
7
 
@@ -5,12 +5,12 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ruote-dm}
8
- s.version = "2.1.6"
8
+ s.version = "2.1.7"
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-02-08}
13
- s.description = %q{datamapper storage for ruote 2.1}
12
+ s.date = %q{2010-02-15}
13
+ s.description = %q{datamapper storage for ruote (a ruby workflow engine)}
14
14
  s.email = %q{jmettraux@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
@@ -35,7 +35,7 @@ Gem::Specification.new do |s|
35
35
  s.require_paths = ["lib"]
36
36
  s.rubyforge_project = %q{ruote}
37
37
  s.rubygems_version = %q{1.3.5}
38
- s.summary = %q{datamapper storage for ruote 2.1}
38
+ s.summary = %q{datamapper storage for ruote (a ruby workflow engine)}
39
39
  s.test_files = [
40
40
  "test/test.rb"
41
41
  ]
@@ -45,18 +45,21 @@ Gem::Specification.new do |s|
45
45
  s.specification_version = 3
46
46
 
47
47
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
48
- s.add_runtime_dependency(%q<ruote>, [">= 2.1.6"])
48
+ s.add_runtime_dependency(%q<ruote>, [">= 2.1.7"])
49
49
  s.add_runtime_dependency(%q<dm-core>, [">= 0"])
50
50
  s.add_development_dependency(%q<yard>, [">= 0"])
51
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
51
52
  else
52
- s.add_dependency(%q<ruote>, [">= 2.1.6"])
53
+ s.add_dependency(%q<ruote>, [">= 2.1.7"])
53
54
  s.add_dependency(%q<dm-core>, [">= 0"])
54
55
  s.add_dependency(%q<yard>, [">= 0"])
56
+ s.add_dependency(%q<jeweler>, [">= 0"])
55
57
  end
56
58
  else
57
- s.add_dependency(%q<ruote>, [">= 2.1.6"])
59
+ s.add_dependency(%q<ruote>, [">= 2.1.7"])
58
60
  s.add_dependency(%q<dm-core>, [">= 0"])
59
61
  s.add_dependency(%q<yard>, [">= 0"])
62
+ s.add_dependency(%q<jeweler>, [">= 0"])
60
63
  end
61
64
  end
62
65
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruote-dm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.6
4
+ version: 2.1.7
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: 2010-02-08 00:00:00 +09:00
12
+ date: 2010-02-15 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 2.1.6
23
+ version: 2.1.7
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: dm-core
@@ -42,7 +42,17 @@ dependencies:
42
42
  - !ruby/object:Gem::Version
43
43
  version: "0"
44
44
  version:
45
- description: datamapper storage for ruote 2.1
45
+ - !ruby/object:Gem::Dependency
46
+ name: jeweler
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ description: datamapper storage for ruote (a ruby workflow engine)
46
56
  email: jmettraux@gmail.com
47
57
  executables: []
48
58
 
@@ -91,6 +101,6 @@ rubyforge_project: ruote
91
101
  rubygems_version: 1.3.5
92
102
  signing_key:
93
103
  specification_version: 3
94
- summary: datamapper storage for ruote 2.1
104
+ summary: datamapper storage for ruote (a ruby workflow engine)
95
105
  test_files:
96
106
  - test/test.rb