Можно ли использовать записи YAML для подмножеств записей в одном файле? - PullRequest
0 голосов
/ 21 августа 2010

Я использую файл YAML для конфигурации в своем приложении rails, и несколько записей в файле являются подмножествами будущих записей, например -

домен: domain.com
Название: Джек
электронная почта: jack@domain.com

Чтобы сделать это более эффективным, возможно ли что-то подобное в YAML?

домен: domain.com
Название: Джек
электронная почта: jack @ $ {domain}

Ответы [ 2 ]

0 голосов
/ 21 августа 2010
0 голосов
/ 21 августа 2010

YAML имеет якорей , но вы не можете использовать их как переменные так, как вы использовали в своем вопросе.Вы можете приблизиться с шагом постобработки.Скажем, ваш domains.yaml равен

domains:
  - domain: &domain domain.com
    name: jack
    emaillocal: jack
    emaildomain: *domain

  - domain: &domain thehill.com
    name: Jill
    emaillocal: jill
    emaildomain: *domain

Затем с

#! /usr/bin/ruby

require "yaml"

yaml = YAML.load_file('domains.yaml')

yaml['domains'].each { |d|
  d['email'] = d['emaillocal'] + '@' + d['emaildomain']
}

puts YAML::dump(yaml)

вы получите

domains: 
- name: jack
  emaildomain: domain.com
  domain: domain.com
  emaillocal: jack
  email: jack@domain.com
- name: Jill
  emaildomain: thehill.com
  domain: thehill.com
  emaillocal: jill
  email: jill@thehill.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...