RBI: getter methods on belongs_to associations have returns(T.nilable(...)) as sig but belongs_to reflection is not optional
I maintainer di solito rispondono entro 3 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- ruby
- Ambito
- developer-experience, tooling
Direzione di ricerca
Inizia con Tapioca::Dsl::Compilers::ActiveRecordAssociations#populate_single_assoc_getter_setter e verifica in che modo le opzioni di reflection di belongs_to determinano il tipo restituito dal getter generato. Confronta gli RBI generati per le associazioni belongs_to opzionali e non opzionali, quindi verifica che solo il caso non opzionale eviti il tipaggio nilable.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I noticed the returns signature of any belongs_to association on a model is always nilable in the RBI file, even if the belongs_to is not optional. Rails will raise an error if a nil value is present for such an association. I don't find it optimal to add T.must everywhere to change this in application code.
I changed Tapioca::Dsl::Compilers::ActiveRecordAssociations#populate_single_assoc_getter_setter and it seems to work:
association_type = if !reflection.options[:optional] && reflection.is_a?(ActiveRecord::Reflection::BelongsToReflection)
association_class
else
as_nilable_type(association_class)
end
What do you think ?
- Lingua principale
- Ruby
- Stelle
- 874
- Fork
- 165
- Merge medio
- 2g 14h
- PR unite (30g)
- 10
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Shopify/tapioca
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Shopify/tapioca#2662 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Improve `check-shims` performanceForse già presa @KaanOzkan l’ha presa 5 giorni fa. Aperta
Shopify/tapioca#2728 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
-
ActiveRecordRelations cannot generate an RBI for an Active Record model with a composite primary keyForse già presa @jgrau l’ha presa 7 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
I maintainer di solito rispondono entro 3 giorni
-
Prepending a module can cause `tapioca dsl` to produce an untyped signatureForse già presa @KaanOzkan l’ha presa 41 giorni fa. Apertabug
Shopify/tapioca#2705 · 1 assegnatario ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di Shopify/tapioca
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rubys/roundhouse#444 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
yegor256/rubocop-elegant#92 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
ecosyste-ms/awesome#812 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
forem/forem#23933 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno