• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MushroomObserver / mushroom-observer / 26082499178
96%
main: 96%

Build:
Build:
LAST BUILD BRANCH: jdc-rubocop-rails-2-35-3
DEFAULT BRANCH: main
Ran 19 May 2026 07:24AM UTC
Jobs 1
Files 1000
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 May 2026 07:20AM UTC coverage: 96.458% (-0.003%) from 96.461%
26082499178

Pull #4303

github

nimmolo
Modal: knobs for header/controller/body_class; refactor Confirm + Spinner

Extends `Components::Modal` with three props so the two remaining
hand-rolled singleton modals (ModalConfirm, ModalProgressSpinner) can
compose Modal instead of inlining their own `.modal > .modal-dialog
> .modal-content` markup. Per the Modal docstring follow-up note,
this finishes the "predate this and inline their own modal markup"
cleanup.

Why central composition: every MO modal goes through one source of
truth for chrome styling. A future BS3 → BS4 / BS5 migration touches
`Components::Modal` once, not N hand-rolled modals.

New Modal props:

- `controller:` (String, default "modal") — Stimulus controller wired
  to the modal root. ModalConfirm uses "confirm-modal" (the Turbo
  confirm-replacement dialog has its own controller that mutates the
  title text and confirm-button action target at runtime).
- `header:` (Boolean, default true) — when false, skip rendering the
  `.modal-header` div entirely. ModalConfirm renders its title inside
  `.modal-body` so the Stimulus controller can target it without
  also tracking a header element; ModalProgressSpinner has no title
  at all. aria-labelledby is still emitted on the root (point it at
  the in-body element via `title_id:`).
- `body_class:` (String, default nil) — extra CSS classes appended
  to `.modal-body`. ModalConfirm wants `py-4`, ModalProgressSpinner
  wants `text-center`.

Refactored components:

- ModalConfirm: composes Modal with `header: false`,
  `controller: "confirm-modal"`, `body_class: "py-4"`,
  `title_id: "mo_confirm_title"`. Renders the title `<h4>` + buttons
  via with_body / with_footer slots.
- ModalProgressSpinner: composes Modal with `header: false`,
  `dialog_class: "modal-dialog modal-sm"`, `body_class: "text-center"`,
  `body_id: "modal_progress_spinner_body"`,
  `title_id: "modal_progress_spinner_caption"`, plus extra_data for
  the non-dismissible settings (keyboard: false, backdrop: static)
  a... (continued)
Pull Request #4303: Modal: knobs for header/controller/body_class; refactor Confirm + Spinner

25 of 25 new or added lines in 3 files covered. (100.0%)

1 existing line in 1 file now uncovered.

38645 of 40064 relevant lines covered (96.46%)

661.73 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
98.46
-1.54% app/components/checklist/contents.rb
Jobs
ID Job ID Ran Files Coverage
1 26082499178.1 19 May 2026 07:24AM UTC 1000
96.46
GitHub Action Run
Source Files on build 26082499178
  • Tree
  • List 1000
  • Changed 4
  • Source Changed 3
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26082499178
  • Pull Request #4303
  • PR Base - main (#26063905306)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc