YAML - отличный язык сериализации данных для обработки информации о конфигурации. поставляется с Ruby , поэтому вам нужно всего лишь:
require 'yaml'
, чтобы загрузить его, затем что-то вроде:
configuration = YAML::load_file('path/to/yamldata.yaml')
Все ваши данные конфигурации будут доступны внутри переменной configuration
.
Обычно я создаю заглушку для своих файлов YAML, написав некоторый код Ruby, определив хэш конфигурации, в котором он содержится, и сообщив YAML, что нужно сгенерировать файл для меня. См. Документы для load_file
и dump
, чтобы узнать, как это сделать.
Для чего-то вроде того, что вы делаете, я бы создал хеш вроде:
configuration = {
'env1' => "www.env1.com",
'env2' => "www.env2.com",
'env3' => "www.env3.com",
}
Использование YAML :: dump (configuration) возвращает:
---
env1: www.env1.com
env2: www.env2.com
env3: www.env3.com
, который вы хотите записать в файл .yaml
, затем загрузить позже во время выполнения и получить к нему доступ:
@selenium = Selenium::Client::Driver.new(
:host => "localhost",
:port => 4444,
:browser => "*firefox C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe",
:timeout_in_second => 60
:url => configuration['env1'],
)
Вы можете заменить 'env1'
другими клавишами для использования env2 или env3.
Rails использует YAML, чтобы один файл обрабатывал информацию о разработке, тестировании и производстве приложения. На работе я использую его, чтобы делать аналогичные вещи, где один файл содержит информацию о наших средах разработки и производства для приложений, а также определения некоторых хэшей, которые мы должны поддерживать, но не хотим изменять код для этого.