我现在正在Rails 4.0应用程序(使用Ruby 2.0.0)上工作。在Ruby On Rails中初始化Gem特定变量信息
我想用我的Rails应用程序的多个页面使用jenkins_api_client gem,与Jenkins进行交互。
此宝石通常使用@client
参数,该参数被初始化为包含Jenkins服务器的凭证和其他信息。 这个参数在使用这样的初始化:
@client = JenkinsApi::Client.new(:server_ip => '0.0.0.0',
:username => 'somename', :password => 'secret password')
初始化完成后,我想在它进入这一参数和运行多个子例程。 这个初始化需要时间,我真的想避免每次客户之一的时间做这个过程中想用这种宝石的功能,如:
# Get a filtered list of jobs from the server
jobs_to_filter = "^test_job.*"
jobs = @client.job.list(jobs_to_filter)
所以,我希望能够做到这一点只有once-时rails服务器启动。
我想从我的应用程序的多个页面使用此参数,可能还有线程解决方案(此刻不是关键)。
任何人都可以推荐如何做到这一点? 我很感激与Rails约定一致的答案。
非常感谢!
它看起来像你可以初始化你的单身jenkins客户端从config/initilizers。 – IS04 2014-08-27 11:55:08
嗨,谢谢你的回答。 你能建议这是如何实现的? 这是设置这些参数的轨道惯例吗? (例如,我知道当其他轨道宝石被导入时,特定的文件被创建,并且我还没有在config/initializers中看到任何这些文件) – cyber101 2014-08-27 12:10:44
我已经写了一些代码示例作为回答 – IS04 2014-08-27 12:18:55