I was wrong about ruport
summary
Admits a wrong design choice: a reporting library built around duped plugin classes and shallow copies of class objects which shares state across formats and causes subtle bugs. Shows a Sinatra‑style helper DSL, a formats hash, and inferred names via convention over configuration. The system runs and produced CSV SVG PDF outputs but becomes fragile and confusing; development halts at 1.0 and ruport works but feels outdated and unsafe.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 11:40report code
- 13:00reading code
- 14:15SVG plugin
- 14:40Lineplotter
- 15:08Reading for explanation
- 17:33Engine
- 18:19Class Format
- 19:16Alias Engine
- 20:20Cargo Cult
- 21:24Renderer
- 23:05EngineRenderer
- 24:59Interface
- 26:38dupe
- 27:05objectoriented design
- 27:49the cost of being ignorant
related talks
32mPragmatic Community Driven Development in Ruby
36mWhat's Wrong With Ruby's Object Model (And Why That's a Good Thing)
32mCrafting elegant code with ruby DSLs
32mPolyglot: When Ruby isn't enough or even sane
40mWorst. Ideas. Ever.
31mRuby Archaeology: Forgotten web frameworks
28mRuby for your two internal programmers
35mThe worst Ruby codes I've seen in my life
