libis-workflow 2.0.beta.18 → 2.0.beta.20
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/libis/workflow/base/work_item.rb +9 -11
- data/lib/libis/workflow/task.rb +7 -5
- data/lib/libis/workflow/task_group.rb +2 -2
- data/lib/libis/workflow/version.rb +1 -1
- data/libis-workflow.gemspec +23 -21
- data/spec/workflow_spec.rb +9 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2e5a0e42c41ae73d9a6b852917818dc9cebd97ef
|
4
|
+
data.tar.gz: e4fb088019e7d60aad2b6b28323b2a5c777dbe64
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfa5b177b528c9c5e8a33e9087b2698c9f1b7a3a54c986ebb4fe00150eb700fe694055239678cd5d50d8a696e555a215ad8028a30db0bc708495684e1b48a3ac
|
7
|
+
data.tar.gz: 68f3312f5d681a3730bff41ec4e995408b986ec58a62f62ebd53d3c11882585dfe83e497d16e2f9702aff2719c70358bc7ee54bc996143d8a97d13e7c4cdf14d
|
@@ -110,15 +110,21 @@ module Libis
|
|
110
110
|
end
|
111
111
|
|
112
112
|
# Iterates over the work item clients and invokes code on each of them.
|
113
|
-
def each
|
114
|
-
self.items.each
|
113
|
+
def each(&block)
|
114
|
+
self.items.each(&block)
|
115
115
|
end
|
116
116
|
|
117
|
+
def size
|
118
|
+
self.items.size
|
119
|
+
end
|
120
|
+
|
121
|
+
alias_method :count, :size
|
122
|
+
|
117
123
|
# Add a child work item
|
118
124
|
#
|
119
125
|
# @param [WorkItem] item to be added to the child list :items
|
120
126
|
def add_item(item)
|
121
|
-
return self unless item and item.is_a?
|
127
|
+
return self unless item and item.is_a?(Libis::Workflow::Base::WorkItem)
|
122
128
|
self.items << item
|
123
129
|
item.parent = self
|
124
130
|
self.save!
|
@@ -128,14 +134,6 @@ module Libis
|
|
128
134
|
|
129
135
|
alias_method :<<, :add_item
|
130
136
|
|
131
|
-
def get_items
|
132
|
-
self.items.dup
|
133
|
-
end
|
134
|
-
|
135
|
-
def item_count
|
136
|
-
self.items.size
|
137
|
-
end
|
138
|
-
|
139
137
|
# Return item's parent
|
140
138
|
# @return [Libis::Workflow::Base::WorkItem]
|
141
139
|
def get_parent
|
data/lib/libis/workflow/task.rb
CHANGED
@@ -158,16 +158,18 @@ module Libis
|
|
158
158
|
|
159
159
|
def run_subitems(parent_item)
|
160
160
|
return unless check_processing_subitems
|
161
|
-
|
161
|
+
|
162
|
+
items = subitems(parent_item)
|
163
|
+
return unless items.size > 0
|
162
164
|
|
163
165
|
status = Hash.new(0)
|
164
|
-
|
165
|
-
debug 'Processing subitem (%d/%d): %s', parent_item, i+1,
|
166
|
+
items.each_with_index do |item, i|
|
167
|
+
debug 'Processing subitem (%d/%d): %s', parent_item, i+1, items.size, item.to_s
|
166
168
|
run_item item
|
167
169
|
status[item.status(self.namepath)] += 1
|
168
170
|
end
|
169
171
|
|
170
|
-
debug '%d of %d subitems passed', parent_item, status[:DONE],
|
172
|
+
debug '%d of %d subitems passed', parent_item, status[:DONE], items.size
|
171
173
|
substatus_check(status, parent_item, 'item')
|
172
174
|
end
|
173
175
|
|
@@ -267,7 +269,7 @@ module Libis
|
|
267
269
|
end
|
268
270
|
|
269
271
|
def subitems(item = nil)
|
270
|
-
(item || self.workitem).
|
272
|
+
(item || self.workitem).items
|
271
273
|
end
|
272
274
|
|
273
275
|
def default_values
|
@@ -32,11 +32,11 @@ module Libis
|
|
32
32
|
return unless check_processing_subtasks
|
33
33
|
|
34
34
|
tasks = subtasks
|
35
|
-
return unless tasks.
|
35
|
+
return unless tasks.size > 0
|
36
36
|
|
37
37
|
status = Hash.new(0)
|
38
38
|
tasks.each_with_index do |task, i|
|
39
|
-
debug 'Running subtask (%d/%d): %s', item, i+1, tasks.
|
39
|
+
debug 'Running subtask (%d/%d): %s', item, i+1, tasks.size, task.name
|
40
40
|
task.run item
|
41
41
|
status[item.status(task.namepath)] += 1
|
42
42
|
end
|
@@ -2,6 +2,6 @@
|
|
2
2
|
|
3
3
|
module Libis
|
4
4
|
module Workflow
|
5
|
-
VERSION = '2.0.beta.
|
5
|
+
VERSION = '2.0.beta.20' unless const_defined? :VERSION # the guard is against a redefinition warning that happens on Travis
|
6
6
|
end
|
7
7
|
end
|
data/libis-workflow.gemspec
CHANGED
@@ -5,32 +5,34 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
5
5
|
|
6
6
|
require 'libis/workflow/version'
|
7
7
|
|
8
|
-
Gem::Specification.new do |
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
Gem::Specification.new do |spec|
|
9
|
+
spec.name = 'libis-workflow'
|
10
|
+
spec.version = ::Libis::Workflow::VERSION
|
11
|
+
spec.date = Date.today.to_s
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
spec.summary = %q{LIBIS Workflow framework.}
|
14
|
+
spec.description = %q{A simple framework to build custom task/workflow solutions.}
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
16
|
+
spec.author = 'Kris Dekeyser'
|
17
|
+
spec.email = 'kris.dekeyser@libis.be'
|
18
|
+
spec.homepage = 'https://github.com/Kris-LIBIS/workflow'
|
19
|
+
spec.license = 'MIT'
|
20
20
|
|
21
|
-
|
22
|
-
gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
23
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
21
|
+
spec.platform = Gem::Platform::JAVA if defined?(RUBY_ENGINE) && RUBY_ENGINE == 'jruby'
|
24
22
|
|
25
|
-
|
23
|
+
spec.files = `git ls-files -z`.split("\x0")
|
24
|
+
spec.executables = spec.files.grep(%r{^bin/}).map { |f| File.basename(f) }
|
25
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
26
26
|
|
27
|
-
|
28
|
-
gem.add_development_dependency 'rake', '~> 10.3'
|
29
|
-
gem.add_development_dependency 'rspec', '~> 3.1'
|
30
|
-
gem.add_development_dependency 'simplecov', '~> 0.9'
|
31
|
-
gem.add_development_dependency 'coveralls', '~> 0.7'
|
27
|
+
spec.require_paths = ['lib']
|
32
28
|
|
33
|
-
|
34
|
-
|
29
|
+
spec.add_development_dependency 'bundler', '~> 1.6'
|
30
|
+
spec.add_development_dependency 'rake', '~> 10.3'
|
31
|
+
spec.add_development_dependency 'rspec', '~> 3.1'
|
32
|
+
spec.add_development_dependency 'simplecov', '~> 0.9'
|
33
|
+
spec.add_development_dependency 'coveralls', '~> 0.7'
|
34
|
+
|
35
|
+
spec.add_runtime_dependency 'libis-tools', '~> 0.9'
|
36
|
+
spec.add_runtime_dependency 'sidekiq', '~> 3.3'
|
35
37
|
|
36
38
|
end
|
data/spec/workflow_spec.rb
CHANGED
@@ -63,9 +63,11 @@ describe 'TestWorkflow' do
|
|
63
63
|
it 'should camelize the workitem name' do
|
64
64
|
run = job.execute
|
65
65
|
expect(run.options['CollectFiles'][:location]).to eq dirname
|
66
|
-
expect(run.
|
66
|
+
expect(run.size).to eq 1
|
67
|
+
expect(run.items.size).to eq 1
|
67
68
|
expect(run.items.first.class).to eq TestDirItem
|
68
|
-
expect(run.items.first.
|
69
|
+
expect(run.items.first.size).to eq 3
|
70
|
+
expect(run.items.first.items.size).to eq 3
|
69
71
|
expect(run.items.first.first.class).to eq TestFileItem
|
70
72
|
|
71
73
|
expect(run.items.first.name).to eq 'Items'
|
@@ -104,16 +106,16 @@ STR
|
|
104
106
|
run = job.execute
|
105
107
|
output = logoutput.string.lines.to_a
|
106
108
|
|
107
|
-
expect(output.
|
109
|
+
expect(output.size).to eq sample_out.size
|
108
110
|
output.each_with_index do |o, i|
|
109
111
|
expect(o[/(?<=\] ).*/]).to eq sample_out[i].strip
|
110
112
|
end
|
111
113
|
|
112
114
|
expect(run.summary['DEBUG']).to eq 20
|
113
|
-
expect(run.log_history.
|
114
|
-
expect(run.status_log.
|
115
|
-
expect(run.items.first.log_history.
|
116
|
-
expect(run.items.first.status_log.
|
115
|
+
expect(run.log_history.size).to eq 8
|
116
|
+
expect(run.status_log.size).to eq 8
|
117
|
+
expect(run.items.first.log_history.size).to eq 12
|
118
|
+
expect(run.items.first.status_log.size).to eq 6
|
117
119
|
|
118
120
|
[
|
119
121
|
{task: 'CollectFiles', status: :STARTED},
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libis-workflow
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.beta.
|
4
|
+
version: 2.0.beta.20
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kris Dekeyser
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|