Module: Masamune::AfterInitializeCallbacks::ClassMethods

Defined in:
lib/masamune/after_initialize_callbacks.rb

Instance Method Summary collapse

Instance Method Details

#after_initialize(priority = :default, &block) ⇒ Object

Callbacks registered with the highest priority are executed first, ties are broken by callback registration order



38
39
40
41
# File 'lib/masamune/after_initialize_callbacks.rb', line 38

def after_initialize(priority = :default, &block)
  @after_initialize ||= Hash.new { |h, k| h[k] = [] }
  @after_initialize[PRIORITY.fetch(priority, 0)] << block
end

#after_initialize_invoke(*a) ⇒ Object



43
44
45
46
# File 'lib/masamune/after_initialize_callbacks.rb', line 43

def after_initialize_invoke(*a)
  @after_initialize ||= Hash.new { |h, k| h[k] = [] }
  @after_initialize.sort.reverse.each { |_p, x| x.each { |y| y.call(*a) } }
end