-
Notifications
You must be signed in to change notification settings - Fork 445
Open
Description
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
endThis 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
endIf 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.
olleolleolle, nevans and taichi-ishitani
Metadata
Metadata
Assignees
Labels
No labels