Module: RubyIsForked::ForkCallback
- Defined in:
- lib/ruby_is_forked/fork_callback.rb
Defined Under Namespace
Modules: ModuleMethods
Constant Summary collapse
- CALLBACK_IN_CHILD =
[ ]
- CALLBACK_BEFORE_CHILD =
[ ]
- CALLBACK_IN_PARENT =
[ ]
Class Method Summary collapse
- .add_callback_before_child!(proc = nil, &block) ⇒ Object
- .add_callback_in_child!(proc = nil, &block) ⇒ Object
- .add_callback_in_parent!(proc = nil, &block) ⇒ Object
- .extended(target) ⇒ Object
- .included(target) ⇒ Object
- .remove_callback_before_child!(proc) ⇒ Object
- .remove_callback_in_child!(proc) ⇒ Object
- .remove_callback_in_parent!(proc) ⇒ Object
Class Method Details
.add_callback_before_child!(proc = nil, &block) ⇒ Object
36 37 38 39 40 |
# File 'lib/ruby_is_forked/fork_callback.rb', line 36 def self.add_callback_before_child! proc = nil, &block proc ||= block CALLBACK_BEFORE_CHILD << proc proc end |
.add_callback_in_child!(proc = nil, &block) ⇒ Object
27 28 29 30 31 |
# File 'lib/ruby_is_forked/fork_callback.rb', line 27 def self.add_callback_in_child! proc = nil, &block proc ||= block CALLBACK_IN_CHILD << proc proc end |
.add_callback_in_parent!(proc = nil, &block) ⇒ Object
45 46 47 48 49 |
# File 'lib/ruby_is_forked/fork_callback.rb', line 45 def self.add_callback_in_parent! proc = nil, &block proc ||= block CALLBACK_IN_PARENT << proc proc end |
.extended(target) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/ruby_is_forked/fork_callback.rb', line 14 def self.extended target super target.extend(ModuleMethods) target.instance_eval do alias :fork_without_callback :fork unless method_defined? :fork_without_callback alias :fork :fork_with_callback end end |
.included(target) ⇒ Object
5 6 7 8 9 10 11 12 |
# File 'lib/ruby_is_forked/fork_callback.rb', line 5 def self.included target super target.class_eval do include ModuleMethods alias :fork_without_callback :fork unless method_defined? :fork_without_callback alias :fork :fork_with_callback end end |
.remove_callback_before_child!(proc) ⇒ Object
41 42 43 |
# File 'lib/ruby_is_forked/fork_callback.rb', line 41 def self.remove_callback_before_child! proc CALLBACK_BEFORE_CHILD.delete(proc) end |
.remove_callback_in_child!(proc) ⇒ Object
32 33 34 |
# File 'lib/ruby_is_forked/fork_callback.rb', line 32 def self.remove_callback_in_child! proc CALLBACK_IN_CHILD.delete(proc) end |
.remove_callback_in_parent!(proc) ⇒ Object
50 51 52 |
# File 'lib/ruby_is_forked/fork_callback.rb', line 50 def self.remove_callback_in_parent! proc CALLBACK_IN_PARENT.delete(proc) end |