ruote-dm 2.1.6 → 2.1.7

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.
@@ -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