Я работаю прямо сейчас в приложении Rails 4.0 (с использованием Ruby 2.0.0).Инициализация информации о переменных Gem-Specific в Ruby On Rails
Я хотел бы взаимодействовать с Дженкинсом, используя jenkins_api_client gem, с нескольких страниц моего приложения Rails.
Этот жемчуг обычно использует параметр @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)
Итак, я надеюсь сделать это только оновлено когда запускается сервер rails.
Я хотел бы использовать этот параметр на нескольких страницах своего приложения, возможно, с помощью потокового решения дальше по дороге (в настоящий момент это не критически).
Может ли кто-нибудь порекомендовать, как этого достичь? Я был бы признателен за ответ, который согласуется с конвенцией Rails.
Большое спасибо!
это выглядит, как вы могли бы инициализировать ваш клиент singleton jenkins из config/initilizers. – IS04
Привет, спасибо за ответ. Можете ли вы предложить, как это достигается? Является ли это соглашением о рельсах настройки этих параметров? (Например, я знаю, что когда импортируются другие рельсы, создаются конкретные файлы, и я не видел ни одного из этих файлов в config/initializers) – cyber101
Я написал пример кода как ответ – IS04