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

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

Build:
Build:
LAST BUILD BRANCH: dependabot/bundler/faraday-2.14.1
DEFAULT BRANCH: main
Ran 07 Feb 2026 10:16PM UTC
Jobs 1
Files 882
Run time 1min
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

07 Feb 2026 10:10PM UTC coverage: 95.835% (+0.003%) from 95.832%
21787739322

Pull #3824

github

nimmolo
Use convenience field methods consistently across all form components

Replace verbose `render(field(:name).type(wrapper_options: {...}))` patterns
with convenience methods (`text_field`, `textarea_field`, `select_field`,
`checkbox_field`, `autocompleter_field`, `read_only_field`) across 6 form
components. This eliminates inconsistent rendering patterns that led to
silent bugs and confusing code for contributors to imitate.

## Changes

### ApplicationForm (framework)
- Add `:between`, `:wrap_data` to WRAPPER_OPTIONS constant
- Add `:text` to read_only_field's local wrapper options
- Add `Field#radio` method and new RadioField component
- Update `Field#checkbox` to accept `*options` for multi-value checkboxes
- Update `radio_field` to split wrapper/field options like other helpers

### CheckboxField (bug fix)
- Always render Bootstrap wrapper (`<div class="checkbox"><label>`)
- `wrapper_options: { label: false }` now only suppresses label text,
  not the entire wrapper structure (Bootstrap 3 needs `<label>` for
  styling and click targets regardless of visible text)

### RadioField (new component)
- Bootstrap 3 radio group: `<div class="radio"><label><input> text</label></div>`
- Uses Superform's OptionMapper for collection handling
- Supports `wrap_class` wrapper option

### Form component conversions
- **collection_number_form**: 2 text fields; fixed `data: { autofocus: true }`
  that was in wrapper_options (silently ignored) → moved to field attributes
- **external_link_form**: 1 text field, 1 select; fixed `append:` in
  wrapper_options (never rendered) → converted to `with_append` slot
- **herbarium_record_form**: 1 autocompleter, 2 text, 1 textarea
- **sequence_form**: 2 textarea, 1 select, 1 text; fixed `class:` in
  wrapper_options (silently ignored) → `wrap_class:`
- **name_form**: 2 selects, 1 checkbox, 1 autocompleter, 3 textarea with
  slots, 4 locked fields converted from `field(:x).hidden()` to
  `read_only_field`
- **name_tracker_form**... (continued)
Pull Request #3824: Phlex Superform: Use convenience field methods consistently

94 of 95 new or added lines in 9 files covered. (98.95%)

1 existing line in 1 file now uncovered.

33453 of 34907 relevant lines covered (95.83%)

689.05 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
96.97
app/components/application_form/radio_field.rb

Uncovered Existing Lines

Lines Coverage ∆ File
1
97.92
0.0% app/models/inat_import.rb
Jobs
ID Job ID Ran Files Coverage
1 21787739322.1 07 Feb 2026 10:16PM UTC 882
95.83
GitHub Action Run
Source Files on build 21787739322
  • Tree
  • List 882
  • Changed 11
  • Source Changed 11
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #21787739322
  • Pull Request #3824
  • PR Base - main (#21779690575)
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