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