Sorbet is showing an error for the attr_reader, but correct me if I am wrong, sigs are required when the function is declared, not called, right?
I have tried going through the documentation but all I got is this note
Note: Many Ruby constructs that look like local variables are actually method calls without parens! Specifically, watch out for attr_reader and zero-argument method definitions.
app/util/hodor.rb:125: This function does not have a `sig` https://sorbet.org/docs/error-reference#7017
125 | attr_reader(:collection_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The error does not have to do with the attr_reader
method itself needing a sig
, but with :collection_name
. The signature for attr_reader
is already known, but the new method it dynamically creates, #collection_name
does not have a known sig
, and Sorbet expects this to be the place where you give it one.
You can do this to fix it:
sig { returns(String) }
attr_reader(:collection_name)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With