こんにちは、hachi8833です。turnipまじでいいかもと思いつつある今日このごろです。
引き続き、「Crafting Rails 4 Applications」の読み会で使用した、第8章「Translating Applications Using Key-Value Back Ends」のスライドを掲載いたします。
その他の回へのリンク
- 第一回:Crafting Out Own Renderer
- 第二回:Building Models with Active Model
- 第三回:Retrieving View Templates from Custom Stores
- 第四回:Senging Multipart Emails Using Template Handlers
- 第五回:Streaming Server Events to Clients Asynchronously
- 第六回:Writing DRY Controllers with Responders
- 第七回:Managing Application Events with Mountable Engines
- 第八回:Translating Applications Using Key-Value Back Ends(このページ)
第8回のメモ
第8回は総集編らしく、第7回までのようなプラグインではなくRailsアプリケーションを作って見せています。素材としてi18n機能で通常のYAMLではなくKey-Valueデータベースを使用するという企画ですが、多くの要素をこれでもかと盛り込んでくれているので、i18nの話題は途中から何だかそっちのけになっていて、第7章でも詳しく解説されているRackミドルウェアの話題が一番目に付きます。
Railsアプリのルートディレクトリにあるconfig.ruって何だろうとは思っていたのですが、本章で詳しく解説されています。あまつさえ、config.ruだけでRailsアプリケーションを作るという飛び道具を繰り出したかと思うと、Railsの中でSinatraを実行するという奇想天外な技も披露されています。
面白かったのが、Capybaraを使用して認証を行なう場合にセッションやcookiesを書き換えるという技が使えない理由でした。詳しくはスライドをご覧いただきたいのですが、ただでさえテスティングでの認証周りはいろいろと面倒なことになりがちなのに困ったことです。実は、今回の読み会に参加いただいたベテランのiさんが、Wardenミドルウェアにモンキーパッチを当ててCapybaraでの認証をバイパスするという技をこっそり教えてくれました。まだまだ自分の中で消化不良ですが、そのうち記事にできればと思います。
何かの参考になれば幸いです。