Conversation
The `rdoc -C` coverage report previously displayed undocumented items
using Ruby syntax (`class ... end`, `def ...; end`). For C source files
like Ruby's object.c, this made the output appear as if the C file was
being treated as a Ruby script.
Replace with a file-centric listing that groups undocumented items by
source file and type:
object.c:
Class:
Refinement
Method:
Module#name object.c:135
Undocumented params: mod.name->stringornil
- Group items by source file, sorted alphabetically
- Within each file, group by type (Class, Module, Constant, Attribute, Method)
- Sort items by line number within each type group
- Use ClassName#method / ClassName.method notation
- Show clickable file:line references, column-aligned
- Return plain strings from report/summary instead of Markup objects
Collaborator
|
🚀 Preview deployment available at: https://8ac7ce2e.rdoc-6cd.pages.dev (commit: 793635c) |
There was a problem hiding this comment.
Pull request overview
This PR refactors RDoc’s coverage reporting to be file-centric and plain-text based (instead of building RDoc::Markup trees), aiming to make coverage output more concise and clearer—especially for C source files.
Changes:
- Reworked
RDoc::Stats#reportto emit a file/type grouped text report and introduced shared constants for type ordering and the “Great Job!” message. - Updated
RDoc::Stats#summary(and the CLI printing path) to output plain strings directly, removingRDoc::Markup::ToRdocconversions. - Revised and expanded stats tests to validate the new output format, including new sorting/grouping scenarios.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| test/rdoc/rdoc_stats_test.rb | Updates expectations to the new file-centric text format and adds new tests for ordering/grouping. |
| lib/rdoc/stats.rb | Implements the new report format and removes markup-element construction in favor of plain strings. |
| lib/rdoc/rdoc.rb | Prints coverage report and summary as strings (no Markup conversion). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Before (Ruby pseudo-code format)
After (file-centric format)
C source file output (Ruby's object.c)
No more
class Refinement ... endpseudo-code that makes it look like the C file is being treated as a Ruby script.Accuracy verification
Coverage metrics are unchanged for projects other than RDoc itself: