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