Получить имя ключа из файла конфигурации YAML - PullRequest
2 голосов
/ 08 апреля 2020

Я хотел бы получить имя ключа в файле конфигурации YAML, как показано ниже. Файл YAML содержит коллекцию структур в структурах, у организаций есть число, представленное в виде символа, который является именем ключа / класса. Мне нужно получить этот символ

require 'yaml'
data = YAML.load(DATA)
data.organisations.each do |organisation|
  organisation #<struct language="nl", name="myname">
  # following line is what I need, I expect it to be :"121"
  organisation.class #<Class:0x00000004fd4248>
end
__END__
--- !ruby/struct
organisations: !ruby/struct
  :121: !ruby/struct
    language: nl
    name: organisationname

Может ли кто-нибудь помочь мне найти имя структуры?

1 Ответ

2 голосов
/ 08 апреля 2020

Я немного попробовал и нашел это:

data.organisations.members
=> [:"121"]

То, как я нашел это (что полезно и в других обстоятельствах), таково:

data.organisations.methods - Object.new.methods

И затем я опробовал все методы, которые казались разумными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...