Acceso a hashes y matrices Ruby

En mi aplicación Rails estoy enviando una cadena JSON compleja que debe decodificarse. Ese no es el problema que sé.

Ahora, antes de implementar todo, estoy intentando acceder a algunas estructuras JSON de ejemplo para ver si puedo acceder a todas las variables. El problema es que los nombres pueden ser variables.

<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, ahora los siguientes camposson variables: "bebidas", "caliente", "frío". Todos los demás campos se llamarán igual.

Ahora me gustaría acceder a cada variable en esta cadena JSON después de que la descifre. Antes de implementarlo, probé un JSON simple:

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

Después de decodificar en rieles dando como resultado

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

Ahora como puedo acceder por ejemploid yunit sin usar la palabra "bebidas". La solución también debe ser escalable al ejemplo anterior.

Alguna información adicional: en el JSON grande, debo acceder a todos los elementos que se enumeran allí (los ID), guardarlos en una tabla y devolver el nuevo ID y luego volver a insertarlo en el JSON. (Explicar por qué es necesario hacer esto tomará una página adicional o 4 ^^).

Respuestas a la pregunta(3)

Su respuesta a la pregunta