Как получить конкретное значение из хэша хэша, используя пользовательскую реализацию ruby
У меня есть данные nosql, которые выходят в этом конкретном формате:
{:bookname=>"The Fight for Guadalcanal",
:sourceSystemId=>"d4ba4799-atil45-4a",
:checkouttimestamp=>"2018-12-12T04:38:34.476796700Z",:firedevents=>[{:operation=>"GET", :entity=>"warbooks", :keys=>[{:name=>"book_guid", :value=>{:FieldString=>"e33almmatter-syslibrary"}}],
:attributes=>[{:libLocation=>"a44364", :value=>{:FieldInteger=>3994}}, {:name=>"big_response", :value=>{:FieldString=>"The Battle for Enderson Field, also"}}],
:customizable=>true}]}
Есть ли вметод в ruby, предоставляющий ключ в качестве параметра аргумента?
Я знаю, что в ruby есть метод fetch, который возвращает мне значение:
test.fetch(:firedevents,()).fetch(:operation))
это возвращает мне значение GET
но проблема в том, что у меня есть количество массивов или хэшей в наборе данных, которые могут варьироваться в зависимости от каждой операции, поэтому я ищу метод, который дает мне значение для передачи ключа в качестве аргумента.
например: ruby_mthod(sourceSystemId.to_sym)
должен достать меня d4ba4799-atil45-4a