Skip to content

Skip comments in Ruby files when checking for class names#19243

Merged
thecrypticace merged 13 commits intomainfrom
fix/issue-19239
Nov 13, 2025
Merged

Skip comments in Ruby files when checking for class names#19243
thecrypticace merged 13 commits intomainfrom
fix/issue-19239

Conversation

@thecrypticace
Copy link
Contributor

Fixes #19239

@thecrypticace thecrypticace marked this pull request as ready for review October 31, 2025 18:21
@thecrypticace thecrypticace requested a review from a team as a code owner October 31, 2025 18:21
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 11, 2025

Walkthrough

Adds an Exclamation enum variant and updates the arbitrary-property parser to treat a top-level exclamation mark as invalid (e.g. [color:red!], [color:red!important]). Enhances the Ruby pre-processor to skip single- and double-quoted string contents with backslash escapes, convert # comments to spaces until newline, and refine %w, %W, %p delimiter handling using a bracket stack and adjusted space/newline boundary rules. Removes nonfunctional annotation lines from a HAML test fixture and adds CHANGELOG entries for the Ruby comment and top-level ! changes.

Pre-merge checks

✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Skip comments in Ruby files when checking for class names' accurately reflects the primary change in the PR—improved Ruby preprocessor comment handling.
Description check ✅ Passed The description 'Fixes #19239' is concise and references the linked issue that provides full context about the PR's objectives.
Linked Issues check ✅ Passed The PR addresses issue #19239 by skipping RDoc comments in Ruby files (ruby.rs) and handling top-level exclamation marks in arbitrary properties (arbitrary_property_machine.rs), both of which suppress the parsing warnings described in the issue.
Out of Scope Changes check ✅ Passed All changes are in-scope: improved Ruby comment/string handling, top-level exclamation mark detection for arbitrary properties, fixture cleanup, and changelog updates directly address the RDoc parsing warning issue.
Docstring Coverage ✅ Passed Docstring coverage is 80.00% which is sufficient. The required threshold is 80.00%.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between defb469 and 5ae0787.

📒 Files selected for processing (1)
  • CHANGELOG.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • CHANGELOG.md

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3cece1d and c19d255.

📒 Files selected for processing (3)
  • crates/oxide/src/extractor/arbitrary_property_machine.rs (3 hunks)
  • crates/oxide/src/extractor/pre_processors/ruby.rs (5 hunks)
  • crates/oxide/src/extractor/pre_processors/test-fixtures/haml/dst-17051.haml (0 hunks)
💤 Files with no reviewable changes (1)
  • crates/oxide/src/extractor/pre_processors/test-fixtures/haml/dst-17051.haml
🧰 Additional context used
🧬 Code graph analysis (1)
crates/oxide/src/extractor/pre_processors/ruby.rs (2)
crates/oxide/src/extractor/candidate_machine.rs (1)
  • next (29-169)
crates/oxide/src/extractor/string_machine.rs (1)
  • next (32-68)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: Linux
  • GitHub Check: Linux / postcss
  • GitHub Check: Linux / vite
  • GitHub Check: Linux / upgrade
Copy link
Member

@RobinMalfait RobinMalfait left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, but not sure about the !important.

Can you also add a changelog entry?

@thecrypticace
Copy link
Contributor Author

Yeah I was not gonna change that part. It's unrelated anyway. Will get the change log updated.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c19d255 and f381118.

📒 Files selected for processing (4)
  • CHANGELOG.md (1 hunks)
  • crates/oxide/src/extractor/arbitrary_property_machine.rs (3 hunks)
  • crates/oxide/src/extractor/pre_processors/ruby.rs (5 hunks)
  • crates/oxide/src/extractor/pre_processors/test-fixtures/haml/dst-17051.haml (0 hunks)
💤 Files with no reviewable changes (1)
  • crates/oxide/src/extractor/pre_processors/test-fixtures/haml/dst-17051.haml
🧰 Additional context used
🧬 Code graph analysis (1)
crates/oxide/src/extractor/pre_processors/ruby.rs (2)
crates/oxide/src/extractor/candidate_machine.rs (1)
  • next (29-169)
crates/oxide/src/extractor/string_machine.rs (1)
  • next (32-68)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Linux
  • GitHub Check: Linux / cli
  • GitHub Check: Linux / upgrade
  • GitHub Check: Linux / postcss
  • GitHub Check: Linux / vite
  • GitHub Check: Linux / webpack
This was referenced Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants