Skip to content

Decouple Terminal::Table from domain logic via TableRenderer#28

Merged
dsaenztagarro merged 1 commit into
masterfrom
27-decouple-terminal-table
Feb 16, 2026
Merged

Decouple Terminal::Table from domain logic via TableRenderer#28
dsaenztagarro merged 1 commit into
masterfrom
27-decouple-terminal-table

Conversation

@dsaenztagarro
Copy link
Copy Markdown
Owner

Summary

  • Extract TableRenderer class wrapping Terminal::Table behind a rows + headings → string interface
  • Update MappingsTransfer to pass plain data through the renderer instead of constructing Terminal::Table objects directly
  • Decouple test assertions from Terminal::Table internals (.rows, .cells, .value) — now asserts on rendered string content
  • Move require "terminal-table" into TableRenderer, removing it from loaders and top-level require

Closes #27

Test plan

  • Full RSpec suite passes (498 examples, 0 failures)
  • RuboCop passes (74 files, no offenses)
  • Coverage thresholds met (96.12% line, 82.22% branch)
  • New TableRenderer spec covers rows, headings, and #rows accessor

🤖 Generated with Claude Code

Extract a TableRenderer class that wraps Terminal::Table behind a
simple data-in, string-out interface. MappingsTransfer now passes
plain Ruby data to the renderer instead of constructing Terminal::Table
objects directly, and test assertions check rendered string content
rather than reaching into the library's internal API.

Closes #27

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dsaenztagarro dsaenztagarro merged commit 268dd99 into master Feb 16, 2026
2 checks passed
@dsaenztagarro dsaenztagarro deleted the 27-decouple-terminal-table branch February 16, 2026 01:12
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.

Decouple Terminal::Table from MappingsTransfer

1 participant