我想知道OmniAuth gem加载了哪些提供程序。我试过这个:
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