ruby

セッションの遅延ロードの罠

これも rails バージョン 2.3.8 の話です。セッションには遅延ロードの仕組みがありますが、SessionHash#has_key? などの一部のメンバの実装は、Hash#has_key? の実装と変わらないので、そのまま使うとちょっとまずいです。適切に SessionHash#has_key? をオ…

ActiveRecord::SessionStore を利用している場合に reset_session した後で session_id を取得する

たまには仕事の話をします。rails バージョン 2.3.8 での話。通常 reset_session してしまうと、そのセッションの id は失われてしまいます。reset_session 後にセッションの id を取得したい場合には、request.session_options[:id] に自前で id を発行する…

一時的にメソッドをすり替える

メタプログラミング ruby を読みました。よくまとまっていて、いい本だなあと思いました。 個人的にはあんまり ruby で実行時にメソッドやクラス、モジュールを操作することはメタじゃないと思っているんですが…それはうさつのとして…折角なのでメタっぽい話…