Acessando hashes e matrizes Ruby

No meu aplicativo Rails estou enviando uma string JSON complexa que precisa ser decodificada. Esse não é o problema, eu sei como.

Agora, antes de implementar tudo, estou tentando acessar algumas estruturas JSON de exemplo para ver se consigo acessar todas as variáveis. O problema é que os nomes podem ser variáveis.

<code>{"configurations" : [ 
{ "drinks" : [
        {"menus" : [
          { "hot" : [
            {"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 4},
            {"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 6}
          ] },

          { "cold" : [
        {"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 4},
            {"id":15,"unit":"0.33", "price":"1", "currency":"Euro", "position": 6}
           ] },

          { "terminals" : [ {"id" : 4}, {"id": 6}, {"id": 7} ] }, 

          { "keys" : { "debit" : "on", "credit": "off" }  }

        ] }
] } ] } 
</code>

Ok, agora os seguintes campossão variáveis: "bebidas", "quente", "frio". Todos os outros campos serão chamados iguais.

Agora gostaria de acessar todas as variáveis ​​nessa string JSON depois de decodificá-las. Antes de implementá-lo, tentei um JSON simples:

<code>{"configuration" : [ { "drinks" : [ { "id":15, "unit":"0.33" } ] } ] }
</code>

Após a decodificação em trilhos, resultando em

<code>{ "configuration" => [{"drinks" => [{"id" => 15, "unit" => "0.33" }]}]}
</code>

Agora como posso acessar por exemploid eunit sem usar a palavra "bebidas". A solução também deve ser escalável para o exemplo acima.

Algumas informações extras: No JSON grande eu deveria acessar todos os itens listados lá (os id's) salvá-los em uma tabela e retornar o novo id e então inseri-lo novamente no JSON. (explicando porque isso precisa ser feito, terá uma página extra ou 4 ^^).

questionAnswers(3)

yourAnswerToTheQuestion