Skip to content

feat(output): add custom output format, test coverage, and release 2.1.0 - #4

Merged
dshevtsov merged 4 commits into
mainfrom
develop
Oct 1, 2026
Merged

dshevtsov merged 4 commits into
mainfrom
develop

Conversation

@dshevtsov

@dshevtsov dshevtsov commented Sep 29, 2026 •

Copy link
Copy Markdown

Purpose

Add configurable Mustache output, preserve existing output conventions,
expand regression coverage, and prepare version 2.1.0.

Changes

  • Add custom output using templates.custom and custom_output, with
    canonical-path validation to reject templates outside the project.
  • Render Markdown through a bundled Mustache template while preserving
    its four-column, headerless layout and whitespace behavior.
  • Share full row data through Row#to_h for YAML and custom templates,
    retaining object-based YAML serialization.
  • Use ISO 8601 row dates and match version labels more precisely.
  • Consolidate tests in RSpec, removing Cucumber and Aruba. Include
    offline VCR replay, nested-template fixtures, and symlink-escape checks.
  • Update CI action pins, permissions, lint configuration, documentation,
    dependency versions, and local-tool ignore rules.

Compatibility

  • Raise the minimum supported Ruby version from 3.0 to 3.3.
  • Change Row#date and generated row dates to YYYY-MM-DD.
    Row#date_string retains the human-readable form.
  • Replace rake features and Cucumber commands with the RSpec workflow.

Validation

  • bundle exec rake: 110 examples, zero failures.
  • SimpleCov: 96.47% line coverage.
  • bundle exec rubocop lib spec: 31 files, no offenses.
  • GitHub test job: passed.
  • Super-Linter: passed.

The recorded GitHub cassette contains an empty search result. It verifies
offline API replay and empty YAML output, not non-empty PR rendering.

@dshevtsov dshevtsov self-assigned this Sep 29, 2026
@dshevtsov dshevtsov added the enhancement New feature or request label Sep 29, 2026
@dshevtsov
dshevtsov marked this pull request as ready for review September 29, 2026 22:43
Add project-contained Mustache templates and custom output configuration. Preserve compatible Markdown and YAML formats, use ISO 8601 dates, and match version labels precisely.

Add rendering and development dependencies and bump the gem version to 2.1.0.

BREAKING CHANGE: Raise the minimum supported Ruby version from 3.0 to 3.3.
Expand unit coverage across configuration, clients, pull requests, collection, and output formatting. Replace Cucumber and Aruba with deterministic RSpec CLI integration tests.

Include offline VCR replay, shared template fixtures, nested template paths, and directory-symlink escape regressions. Add coverage reporting and remove obsolete feature-test dependencies and support files.
Pin checkout and Super-Linter actions, scope workflow permissions, and disable conflicting JSON formatting checks. Align Markdown formatting and reuse the repository Ruby lint configuration locally.

Ignore local Claude and Scout directories.
Document custom templates, supported output formats, CLI version output, and the unified RSpec workflow. Explain offline cassette replay and safe re-recording, and record release changes.
@dshevtsov
dshevtsov merged commit 3d0eeb2 into main Oct 1, 2026
18 checks passed
@dshevtsov
dshevtsov deleted the develop branch October 1, 2026 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant