Class: Thread

Inherits:
Object
  • Object
show all
Defined in:
lib/peak_flow_utils/thread_callbacks_patch.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*args, &block) ⇒ Thread

Returns a new instance of Thread.



15
16
17
18
19
20
21
22
# File 'lib/peak_flow_utils/thread_callbacks_patch.rb', line 15

def initialize(*args, &block)
  @@on_initialize_callbacks ||= {} # rubocop:disable Style/ClassVars
  @@on_initialize_callbacks.each_value do |callback|
    callback.call(parent: Thread.current, thread: self)
  end

  _initialize(*args, &block)
end

Class Method Details

.on_initialize(&callback) ⇒ Object



4
5
6
7
8
9
10
11
12
13
# File 'lib/peak_flow_utils/thread_callbacks_patch.rb', line 4

def self.on_initialize(&callback)
  @@on_initialize_count = 0 if @on_initialize_count.nil? # rubocop:disable Style/ClassVars
  count_to_use = @@on_initialize_count
  @@on_initialize_count += 1 # rubocop:disable Style/ClassVars

  @@on_initialize_callbacks ||= {} # rubocop:disable Style/ClassVars
  @@on_initialize_callbacks[count_to_use] = callback

  count_to_use
end

Instance Method Details

#_initializeObject

rubocop:disable Style/Alias



2
# File 'lib/peak_flow_utils/thread_callbacks_patch.rb', line 2

alias_method :_initialize, :initialize