~/talk

Zeitwerk: A new code loader

Talkat RailsConf 2019 · 2019-05-01..05-03· [ruby-on-rails]
slides:none on file

Zeitwerk is a standalone gem that becomes Rails 6’s default loader and claims to eliminate most hand-written requires by registering Module#autoload for files, using TracePoint to solve circular namespace ordering, and exposing a registry with eager_load_all for cross-project eager loading. Reloading is opt-in, it preserves Ruby semantics, targets CRuby initially, and removes the need to keep app directories on $LOAD_PATH; the implementation ships and is already used by real projects.

AI-written summary · about

  1. 0:00Intro
  2. 0:48What is Zeitwerk
  3. 1:42Project structure
  4. 3:36Implicit Syntax
  5. 4:18Basic Usage
  6. 4:39Gems
  7. 7:47Reloading
  8. 10:50Why requires
  9. 11:22Global effects
  10. 12:28NanoC
  11. 13:57Constant Refresher
  12. 14:17What are constants
  13. 16:40Module constants
  14. 18:23Alternative syntax
  15. 18:59Nesting
  16. 21:12Ancestors
  17. 21:27Relative Constants
  18. 23:00Qualified Constants
  19. 23:51Outlaw Paths
  20. 25:09Limitations
  21. 27:17Missing
  22. 28:28Model Autoload
  23. 29:12The new approach
  24. 29:55Technical difficulties
  25. 31:25Explicit namespaces
  26. 32:41implicit namespaces
  27. 34:47chicken and egg
  28. 35:23trace point
  29. 35:47call it
  30. 36:15publish
  31. 37:11remove required dependencies
  32. 37:33flexure
  33. 38:51flexure check
  34. 39:28forbidden
  35. 40:11zippy controllers
  36. 41:09opt out
  37. 41:27upgrade guide
~/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.