cascade 0.0.8 → 0.0.9

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.
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: []