岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

OpenID::Consumer.newにセッションオブジェクトを渡す意味がわからない

誰かが教えてくださる可能性に期待して、ruby-openidに対する疑問を書きます。

RP用のOpenID::Consumerクラスのインスタンスを作る際、セッションオブジェクトとストアオブジェクトを渡さなければなりません。

consumer = OpenID::Consumer.new(session, store)

このsessionの使い道がわからないのです。OPのエンドポイントを保持するために使っているようですが、その意図は何なのでしょうか? あとで参照するかもしれないから一応とっておこう、という程度なら、オプショナル引数のほうが適切な気がします。