Commit Graph

8 Commits

Author SHA1 Message Date
3a90dd541e Move COLORS and c() to BBS::Color in rubbs
include BBS::Color at top level — c() available everywhere
including instance_eval blocks and OutputBuilder.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 10:34:47 +02:00
304c130fa9 Replace module C with COLORS hash
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 10:31:37 +02:00
78184ad62f Add OutputBuilder DSL for catalog rendering
sep / line / cols / para / badge methods replace manual string
concatenation. badges auto-flush before the next content line.
render { } wraps a block in the builder via instance_eval.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:55:13 +02:00
390142d892 Add c(:color, text) helper, replace all inline ANSI constants
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:50:48 +02:00
9ab2e09b3f Add Model/Repository postfix to all class and file names
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:40:14 +02:00
6856b073f6 Introduce model/ and repository/ structure under lib/
Models: Message, WikiPage, Game (typed structs instead of raw hashes)
Repositories: MessageBoard, OnlineUsers, WikiClient, CatalogClient
bbs.rb uses attribute access (page.title, game.play_path, …) throughout

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:37:57 +02:00
75d1063572 Replace display.rb with DSL primitives in bbs.rb
All content rendering now lives in bbs.rb via the rubbs DSL.
fetch/pick handle wiki list + article drill-down; output handles
the multi-line game catalog. display.rb is gone.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 09:28:21 +02:00
4ac5f1632f ruby version 2026-04-28 22:58:37 +02:00