Вставьте настройки в файл YAML и прочитайте его так:
require 'yaml'
config = YAML.load("config.yaml") # or wherever
$remote_host = config['remote_host']
$ssh_username = config['ssh_username']
# and so on
Или вы можете просто прочитать один большой хэш конфигурации:
$config = YAML.load("config.yaml")
Обратите внимание, что здесь я использую глобальные переменные, а не переменные экземпляра, поэтому нет никакого шанса быть удивленным областью видимости переменной.
config.yaml будет выглядеть так:
---
remote_host: some.host.name
ssh_username: myusername
other_setting: foo
whatever: bar
Я, как правило, сохраняю config.yaml.sample с основной частью кода, в которой есть пример, но нерабочие настройки для всего, что я могу скопировать в не версионный config.yaml Некоторым людям нравится сохранять свой config.yaml в активной ветке на самом сервере, чтобы он был версионным, но я никогда не беспокоился об этом.