~/talk

Writing DSL for DSL: Catch Code as It's Born with TracePoint

Talkat RubyKaigi 2026 · 2026-04-22..04-24· [ruby]
slides:none on file

Typelizer extracts field types from serializer DSLs and emits TypeScript types or OpenAPI schemas, merging DB schema, ActiveRecord attributes and annotations. It originally uses TracePoint API to subscribe to method call events while requiring each serializer file, capturing bindings and local variables and storing type info during that short window. Because of special-case methods and overhead it later switches to module prepend for interception, while a type generation rake task enables tracing only briefly and filters aggressively.

AI-written summary · about

  1. 0:00Introduction and welcome
  2. 3:20What is Typelizer and why it matters
  3. 8:20TracePoint API deep dive
  4. 12:14How Typelizer uses TracePoint
  5. 15:07TracePoint limitations and trade-offs
  6. 17:55When to avoid TracePoint
  7. 19:21Q&A and closing remarks
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.