OmniAuthgemで使用するためにロードされたプロバイダーを知りたいのですが。私はこれを試しました:
OmniAuth::Strategies.constants # a method provided by the standard lib Module class
# => [:Developer, :OAuth, :Twitter]
この:
OmniAuth.strategies.inspect # a method provided by the OmniAuth class, but which has no documentation or comments around it.
# => [OmniAuth::Strategies::OAuth]
私が期待する(または望む)答えは[:Developer, :Twitter]
、テストコードのように、明示的にtwitterをロードしただけであり、提供された開発者はデフォルトでロードされます。
(これはすべて、OmniAuthが実行しているものに応じて、別のライブラリが機能するための正しいものをロードできるようにするためです。)
方法があり、それを知っているなら、私に知らせてください。そうでなければ、私は実用的で、最初の例のリストからOAuthをノックアウトします。
Rubyは1.9.3で、OmniAuthはv1.1.1です。