2015-01-14 2 views
0

У меня есть следующий атрибут повар, который я пытаюсь преобразовать в YAML для тест-кухни:Добавление комплекса атрибутов для тестирования кухня

default['attr1']['attr2'] = { 
    "setting1" => { 
     "key1" => "value1", 
     "key2" => "value2", 
     "key3" => false 
    }, 
}; 

Что бы это выглядеть в YAML так тест-кухня будет заменить его должным образом? Я хочу переопределить значение false для true для определенных драйверов для тестовых компьютеров.

Существует аналогичный вопрос SO: Adding Attributes to Test Kitchen, но атрибут, который я пытаюсь преобразовать, более сложный (т. Е. Значение не является простой строкой).

ответ

0

Моя лучшая идея, использовать IRB:

irb(main):001:0> h={ 
irb(main):002:1*  "setting1" => { 
irb(main):003:2*   "key1" => "value1", 
irb(main):004:2*   "key2" => "value2", 
irb(main):005:2*   "key3" => false 
irb(main):006:2>  }, 
irb(main):007:1* } 
=> {"setting1"=>{"key1"=>"value1", "key2"=>"value2", "key3"=>false}} 

irb(main):010:0> require 'yaml' 
=> true 

irb(main):011:0> h.to_yaml 
=> "---\nsetting1:\n key1: value1\n key2: value2\n key3: false\n" 

Отказ от ответственности: Я не использую тест-кухни, ни YAML обычно, так что он может или не может работать.

2

Должно быть

attr1: 
    attr2: 
    setting1: 
     key1: value1 
     key2: value2 
     key3: false