bumbleworks 0.0.27 → 0.0.28
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/lib/bumbleworks/task.rb +5 -0
- data/lib/bumbleworks/tasks/base.rb +9 -10
- data/lib/bumbleworks/version.rb +1 -1
- data/spec/lib/bumbleworks/task_spec.rb +16 -0
- metadata +2 -2
data/lib/bumbleworks/task.rb
CHANGED
@@ -122,8 +122,10 @@ module Bumbleworks
|
|
122
122
|
|
123
123
|
# Claim task and assign token to claimant
|
124
124
|
def claim(token)
|
125
|
+
before_claim(token)
|
125
126
|
set_claimant(token)
|
126
127
|
log(:claim)
|
128
|
+
after_claim(token)
|
127
129
|
end
|
128
130
|
|
129
131
|
# true if task is claimed
|
@@ -133,8 +135,11 @@ module Bumbleworks
|
|
133
135
|
|
134
136
|
# release claim on task.
|
135
137
|
def release
|
138
|
+
current_claimant = claimant
|
139
|
+
before_release(current_claimant)
|
136
140
|
log(:release)
|
137
141
|
set_claimant(nil)
|
142
|
+
after_release(current_claimant)
|
138
143
|
end
|
139
144
|
|
140
145
|
def on_dispatch
|
@@ -1,20 +1,19 @@
|
|
1
1
|
module Bumbleworks
|
2
2
|
module Tasks
|
3
3
|
module Base
|
4
|
-
def before_update(params)
|
5
|
-
end
|
4
|
+
def before_update(params); end
|
5
|
+
def after_update(params); end
|
6
6
|
|
7
|
-
def
|
8
|
-
end
|
7
|
+
def before_complete(params); end
|
8
|
+
def after_complete(params); end
|
9
9
|
|
10
|
-
def
|
11
|
-
end
|
10
|
+
def before_claim(token); end
|
11
|
+
def after_claim(token); end
|
12
12
|
|
13
|
-
def
|
14
|
-
end
|
13
|
+
def before_release(token); end
|
14
|
+
def after_release(token); end
|
15
15
|
|
16
|
-
def after_dispatch
|
17
|
-
end
|
16
|
+
def after_dispatch; end
|
18
17
|
|
19
18
|
def completable?
|
20
19
|
true
|
data/lib/bumbleworks/version.rb
CHANGED
@@ -406,6 +406,15 @@ describe Bumbleworks::Task do
|
|
406
406
|
expect{@task.claim('boss')}.not_to raise_error described_class::AlreadyClaimed
|
407
407
|
end
|
408
408
|
|
409
|
+
it 'calls before_claim and after_claim callbacks' do
|
410
|
+
task = described_class.new(workflow_item)
|
411
|
+
task.stub(:log)
|
412
|
+
task.should_receive(:before_claim).with(:doctor_claim).ordered
|
413
|
+
task.should_receive(:set_claimant).ordered
|
414
|
+
task.should_receive(:after_claim).with(:doctor_claim).ordered
|
415
|
+
task.claim(:doctor_claim)
|
416
|
+
end
|
417
|
+
|
409
418
|
it 'logs event' do
|
410
419
|
log_entry = Bumbleworks.logger.entries.last[:entry]
|
411
420
|
log_entry[:action].should == :claim
|
@@ -448,6 +457,13 @@ describe Bumbleworks::Task do
|
|
448
457
|
@task.params['claimed_at'].should be_nil
|
449
458
|
end
|
450
459
|
|
460
|
+
it 'calls before_release and after_release callbacks' do
|
461
|
+
@task.should_receive(:before_release).with('boss').ordered
|
462
|
+
@task.should_receive(:set_claimant).ordered
|
463
|
+
@task.should_receive(:after_release).with('boss').ordered
|
464
|
+
@task.release
|
465
|
+
end
|
466
|
+
|
451
467
|
it 'logs event' do
|
452
468
|
@task.release
|
453
469
|
log_entry = Bumbleworks.logger.entries.last[:entry]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bumbleworks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.28
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2013-07-
|
15
|
+
date: 2013-07-24 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: ruote
|