lib/tapioca/runtime/trackers/required_ancestor.rb in tapioca-0.9.4 vs lib/tapioca/runtime/trackers/required_ancestor.rb in tapioca-0.10.0

- old
+ new

@@ -3,32 +3,34 @@ module Tapioca module Runtime module Trackers module RequiredAncestor - extend T::Sig - @required_ancestors_map = {}.compare_by_identity - sig { params(requiring: T::Helpers, block: T.proc.returns(Module)).void } - def self.register(requiring, block) - ancestors = @required_ancestors_map[requiring] ||= [] - ancestors << block - end + class << self + extend T::Sig - sig { params(mod: Module).returns(T::Array[T.proc.returns(Module)]) } - def self.required_ancestors_blocks_by(mod) - @required_ancestors_map[mod] || [] - end + sig { params(requiring: T::Helpers, block: T.proc.returns(Module)).void } + def register(requiring, block) + ancestors = @required_ancestors_map[requiring] ||= [] + ancestors << block + end - sig { params(mod: Module).returns(T::Array[T.nilable(Module)]) } - def self.required_ancestors_by(mod) - blocks = required_ancestors_blocks_by(mod) - blocks.map do |block| - block.call - rescue NameError - # The ancestor required doesn't exist, let's return nil and let the compiler decide what to do. - nil + sig { params(mod: Module).returns(T::Array[T.proc.returns(Module)]) } + def required_ancestors_blocks_by(mod) + @required_ancestors_map[mod] || [] + end + + sig { params(mod: Module).returns(T::Array[T.nilable(Module)]) } + def required_ancestors_by(mod) + blocks = required_ancestors_blocks_by(mod) + blocks.map do |block| + block.call + rescue NameError + # The ancestor required doesn't exist, let's return nil and let the compiler decide what to do. + nil + end end end end end end