@@ -319,20 +319,18 @@ def finalize!(freeze: true, eager_load: true, &)
319
319
320
320
configured!
321
321
322
- hooks [ :before_finalize ] . each { | hook | instance_eval ( & hook ) }
323
- yield ( self ) if block_given?
322
+ run_hooks ( :finalize ) do
323
+ yield ( self ) if block_given?
324
324
325
- providers . finalize!
326
- auto_registrar . finalize!
327
- manifest_registrar . finalize!
328
- importer . finalize!
325
+ [ providers , auto_registrar , manifest_registrar , importer ] . each ( &:finalize! )
329
326
330
- keys . each { | key | resolve ( key ) } if eager_load
327
+ keys . each { resolve ( _1 ) } if eager_load
331
328
332
- @__finalized__ = true
329
+ @__finalized__ = true
330
+
331
+ self . freeze if freeze
332
+ end
333
333
334
- self . freeze if freeze
335
- hooks [ :after_finalize ] . each { |hook | instance_eval ( &hook ) }
336
334
self
337
335
end
338
336
@@ -624,8 +622,8 @@ def load_component(key)
624
622
load_local_component ( component )
625
623
elsif manifest_registrar . file_exists? ( component )
626
624
manifest_registrar . ( component )
627
- elsif importer . namespace? ( component . identifier . root_key )
628
- load_imported_component ( component . identifier , namespace : component . identifier . root_key )
625
+ elsif importer . namespace? ( component . root_key )
626
+ load_imported_component ( component . identifier , namespace : component . root_key )
629
627
elsif importer . namespace? ( nil )
630
628
load_imported_component ( component . identifier , namespace : nil )
631
629
end
@@ -661,6 +659,12 @@ def find_component(key)
661
659
end
662
660
} || IndirectComponent . new ( Identifier . new ( key ) )
663
661
end
662
+
663
+ def run_hooks ( event )
664
+ hooks [ :"before_#{ event } " ] . each { instance_eval ( &_1 ) }
665
+ yield
666
+ hooks [ :"after_#{ event } " ] . each { instance_eval ( &_1 ) }
667
+ end
664
668
end
665
669
666
670
# Default hooks
0 commit comments