У меня есть код, который использует Singleton и Forwardable для делегирования некоторых методов внутреннему Hash
.
class A
include Singleton
extend T::Sig
sig { returns(T::Hash[T.untyped, T.untyped]) }
attr_reader :stars
class << self
extend Forwardable
def_delegators :instance, :<<, :[], :stars
def_delegators :stars, :length
end
sig { void }
def initialize
@stars = {}
end
sig { params(identifier: String).returns(B) }
def [](identifier)
@stars[identifier]
end
end
Я использую A << B.new
вне класса A
, а когда я запускаю be srb tc
Я получаю Method << does not exist on T.class_of(A)
. Есть предложения или идеи, как я могу избавиться от этого предупреждения?