システム開発を支えるメタプログラミングの技術

Rubyのメタプログラミングはその強力さゆえ、初級者からするといつ使ったらいいかわからない、と思われがちな技法ではないでしょうか。
しかし、時にはメタプログラミングについての知識が無いと読めないコードと出会うことがあります。
メソッド名で検索したけどヒットしない、なのにメソッドが呼び出せるのはなぜ?といった疑問を持ったことはありませんか?
この発表では初級者から中級者の方向けに、Rails本体や著名なgem、オープンソースのRailsアプリでどのようにメタプログラミングの技法が使われているのかコードを読みながらご紹介できればと思っています。

アバター画像:Haruka Oguchi
Haruka Oguchi

Ruby / JSプログラマ。 普段は仕事で集金業務を効率化するサービスを開発しています。最近の関心事はチームが効率よく開発していくための仕組み作りです。