cascade 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/cascade/job/callbacks.rb +10 -4
  2. metadata +3 -3
@@ -2,7 +2,7 @@ module Cascade
2
2
  module Job
3
3
  module Callbacks
4
4
  def run_callbacks(action, job_spec)
5
- self.class.callbacks[action].each do |callback|
5
+ self.class.all_callbacks[action].each do |callback|
6
6
  if callback.is_a?(Symbol)
7
7
  send(callback, job_spec)
8
8
  else
@@ -19,10 +19,16 @@ module Cascade
19
19
  end
20
20
 
21
21
  def callbacks
22
- @callbacks ||= if superclass.respond_to?(:callbacks)
23
- superclass.send(:callbacks)
22
+ @callbacks ||= Hash.new { |h,k| h[k] = [] }
23
+ end
24
+
25
+ def all_callbacks
26
+ if superclass.respond_to?(:callbacks)
27
+ callbacks.merge superclass.send(:callbacks) do |key, old_val, new_val|
28
+ new_val + old_val
29
+ end
24
30
  else
25
- Hash.new { |h,k| h[k] = [] }
31
+ callbacks
26
32
  end
27
33
  end
28
34
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cascade
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
17
- requirement: &2157506340 !ruby/object:Gem::Requirement
17
+ requirement: &2152734000 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,7 +22,7 @@ dependencies:
22
22
  version: '1.0'
23
23
  type: :development
24
24
  prerelease: false
25
- version_requirements: *2157506340
25
+ version_requirements: *2152734000
26
26
  description: ''
27
27
  email: andrew@andrewtimberlake.com
28
28
  executables: []