protocolbuffers / protocolbuffers/protobuf
Ruby class documentation barely exists
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 72k
- Forks
- 16.3k
- Avg merge
- 1d 17h
- Merged PRs (30d)
- 140
Description
What language does this apply to?
Ruby
Describe the problem you are trying to solve.
Currently, languages like Golang provide full documentation on fields and methods for Protobuf objects:
- https://pkg.go.dev/github.com/golang/protobuf/proto#Message
- https://googleapis.dev/python/protobuf/latest/google/protobuf/message.html
- https://www.javadoc.io/doc/com.google.protobuf/protobuf-java/latest/com/google/protobuf/Message.html
The Ruby documentation https://www.rubydoc.info/gems/google-protobuf is extremely bare-bones and doesn't include any of the C-generated methods - there isn't even an entry for the Message class.
Describe the solution you'd like
I can definitely help with generating documentation via YARD comments. YARD allows you to make "fake" methods so it shouldn't affect the C-generated methods. There are other options of course, but that might be the one with the least lift.
Is this something that the team would be interested in accepting?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the google-protobuf Ruby gem documentation and the missing Message class entry, then compare its coverage with the linked Go, Python, and Java documentation. Investigate whether YARD comments or another documented approach can represent the C-generated methods without changing them. Done means the Ruby documentation exposes the Message class and its relevant fields and methods.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100