bumbleworks 0.0.27 → 0.0.28

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 after_update(params)
8
- end
7
+ def before_complete(params); end
8
+ def after_complete(params); end
9
9
 
10
- def before_complete(params)
11
- end
10
+ def before_claim(token); end
11
+ def after_claim(token); end
12
12
 
13
- def after_complete(params)
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
@@ -1,3 +1,3 @@
1
1
  module Bumbleworks
2
- VERSION = "0.0.27"
2
+ VERSION = "0.0.28"
3
3
  end
@@ -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.27
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-19 00:00:00.000000000 Z
15
+ date: 2013-07-24 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: ruote