Skip to content

Type livecheck options instead of **options - #24543

Merged
dduugg merged 1 commit into
Homebrew:mainfrom
dduugg:livecheck-typed-options
Nov 8, 2026
Merged

dduugg merged 1 commit into
Homebrew:mainfrom
dduugg:livecheck-typed-options

Conversation

@dduugg

@dduugg dduugg commented Nov 8, 2026

Copy link
Copy Markdown
Member
  • Pass explicit keywords to Livecheck.run_checks so brew typecheck catches a mistyped keyword. Splatting a .compact hash left all nine unchecked.
  • Drop .compact, a no-op since every value is a non-nil Boolean and run_checks defaults each keyword to false.

  • Have you followed our Contributing guidelines?
  • Have you checked for other open Pull Requests for the same change?
  • Have you explained what your changes do? Performance claims (e.g. "this is faster") must include brew benchmark results.
  • Have you explained why you'd like these changes included, not just what they do?
  • For bug fixes, have you given step-by-step brew commands to reproduce the bug?
  • Have you written new tests (excluding integration tests)? Here's an example.
  • Have you successfully run brew lgtm (style, typechecking and tests) locally?

  • I did not use AI/LLM to create this PR, or I disclosed the tool/model below and reviewed its output; every commit has a human author or co-author and I will answer maintainer questions and review comments myself without AI/LLM.

Claude Code with Opus 5.5, with local review and testing.


- `Livecheck.run_checks` was called with a splatted `.compact` hash,
  which has no shape, so Sorbet checked none of its nine keywords and a
  mistyped one would only fail at runtime.
- `.compact` was a no-op: every value is a non-nil `T::Boolean` and
  `run_checks` defaults each keyword to `false`.
@coderabbitai

coderabbitai Bot commented Nov 8, 2026

Copy link
Copy Markdown
Contributor

Explain Change →

No actionable comments were generated in the recent review.

Summary

Summary by CodeRabbit

  • Refactor
    • Streamlined how Livecheck processes its options. The available options and their values are unchanged, so this update does not alter the behaviour visible to users.

LivecheckCmd#run now passes its option values directly to Livecheck.run_checks as keyword arguments. It no longer builds a local options hash or calls .compact.

Changes: Livecheck option forwarding

Layer / File(s) Summary
Forward command options
Library/Homebrew/dev-cmd/livecheck.rb
LivecheckCmd#run passes the existing option values directly to Livecheck.run_checks. The local hash and its .compact call are removed.
Merge Risk: Minimal · up to d5475

No merge-blocking behavior change is identified.

Pre-merge checks: Passed 4

Check name Status Explanation
Title check Passed The title names the main change: explicit keywords replace the splatted options hash in the call to Livecheck.run_checks. The raw summary confirms LivecheckCmd#run now passes options directly and drop…
Description check Passed The description states the purpose of the change: explicit keywords let brew typecheck catch a mistyped keyword, and .compact was removed because it was a no-op. This matches the raw summary, which re…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title names the main change: explicit keywords replace the splatted options hash in the call to Livecheck.run_checks. The raw summary confirms LivecheckCmd#run now passes options directly and drops the .compact step, so the title matches the changeset.

Full details: Description check

Explanation

The description states the purpose of the change: explicit keywords let brew typecheck catch a mistyped keyword, and .compact was removed because it was a no-op. This matches the raw summary, which reports the removal of .compact and the direct option passing in LivecheckCmd#run.

Recent review info

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a9f766b2-36e2-48f6-8c0d-21cd0f654406
Commits

Reviewing files that changed from the base of the PR and between 25ccd49 and d54756a.

Files selected for processing: 1

  • Library/Homebrew/dev-cmd/livecheck.rb

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.

@dduugg
dduugg enabled auto-merge November 8, 2026 22:29
@dduugg
dduugg added this pull request to the merge queue Nov 8, 2026
Merged via the queue into Homebrew:main with commit bc63375 Nov 8, 2026
56 checks passed
@dduugg
dduugg deleted the livecheck-typed-options branch November 8, 2026 23:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants