Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Documenting `Data` classes

Aperta
#1,375 0 commenti 5 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@tompng ci sta già lavorando.

Dal 23/7/2026.

  • #1754 di @tompng — aperta

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
ruby
Ambito
documentation

Direzione di ricerca

Iniziate riproducendo gli esempi documentati con rdoc, con e senza il parser Prism, per Data.define, Struct.new e la riapertura della classe generata. Tracciate il modo in cui queste definizioni vengono classificate e verificate che la classe e i suoi metodi siano documentati come una classe, mentre la documentazione obsoleta di Object non venga mantenuta.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Feature Request

rdoc does not usefully document data classes defined the correct way:

# Documenting a class made with Data.define
MyDataClass = Data.define :a do
  # Capitalize the value of +a+.
  def cap
    a.capitalize
  end
end

This documents a constant on Object, Object::MyDataClass instead of documenting it as a class itself, and the method within the data class definition is not documented either. It does not matter whether the Prism parser is used.

When documented with reopening, there are two different issues

MyDataClass = Data.define :a # :nodoc:

# Documenting a class made with Data.define
class MyDataClass
  # Capitalize the value of +a+.
  def cap
    a.capitalize
  end
end

If defined without # :nodoc:, MyDataClass is still documented as a constant on Object; if defined with # :nodoc:, the documentation is removed, but the generated documentation pages for Object isn't removed.

I believe that Data.define and Struct.new should be treated as if they were written as class variants.

Lingua principale
Ruby
Stelle
929
Fork
469
Merge medio
1g 2h
PR unite (30g)
19

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ruby/rdoc

Tutte le issue di ruby/rdoc

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.