という名前の Ruby オブジェクト (具体的には ActiveRecord オブジェクト) がありUser
ます。find_by_id
、 などのメソッドに応答しますfind_by_auth_token
。ただし、これらはdef
またはを介して定義されるメソッドではありませんdefine_method
。代わりに、これらは を介して処理される動的メソッドですmethod_missing
。
Object#method
これらのメソッドのいずれかへの参照を、たとえば次のように取得したいと思います。
User.method(:find_by_auth_token)
しかし、これはうまくいかないようです。私が思いついた最善の解決策は次のとおりです。
proc { |token| User.find_by_auth_token(token) }
このようなラッパーメソッドを使用する他の方法はありますか? Object#method
動的メソッドには本当に使えないのでしょうか?