在rails中初始化API客户端的好地方是什么?

时间:2014-03-27 08:16:41

标签: ruby-on-rails ruby-on-rails-4 rubygems

举一个例子,这两个宝石https://github.com/philnash/bitlyhttps://github.com/nfo/gmail_xoauth需要像

这样的东西
client = Bitly.client

并且

imap = Net::IMAP.new('imap.gmail.com', 993, usessl = true, certs = nil, verify = false)

我想每次使用它们时都要初始化这些客户端吗?例如,在每个函数中,我需要使用这些客户端的方法吗?

编辑:仍然不确定如何启动像这样的库

require 'mixpanel-ruby'
tracker = Mixpanel::Tracker.new(PROJECT_TOKEN)
tracker.track(user_id, 'Sent Message')

3 个答案:

答案 0 :(得分:2)

创建config / initializers / bitly.rb

config.bitly_client = Bitly.client

答案 1 :(得分:1)

您也可以在config / environments /下的任何环境文件中为环境特定的解决方案甚至在config / environment.rb中编写它,它也适用于所有环境,作为config / initializers / any_file_name.rb的选项。

确保在config / initializers / any_file_name.rb

的情况下,类名必须是合适的

答案 2 :(得分:0)

如果客户端只需要配置您自己的令牌等。 我会在app / config / initializers / goodreads.rb中设置一个客户端 初始化文件夹中的所有文件都将加载到您的环境中。

如果您根据用户自己的令牌设置一个唯一的客户端,您可能需要在一个问题中制作一个帮助方法。

创建客户端后,将其保存到变量中,并根据需要在整个应用程序中使用。