Sha256: 201d9029acdf92656a0f99ed3a64529676f3a2a0ce560f4fd066025a18b671aa
Contents?: true
Size: 738 Bytes
Versions: 4
Compression:
Stored size: 738 Bytes
Contents
class Thread alias_method :_initialize, :initialize # rubocop:disable Style/Alias 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 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 end
Version data entries
4 entries across 4 versions & 1 rubygems