Ruby: extracto de una estructura JSON profundamente anidada basada en múltiples criterios

Quiero seleccionar cualquieramarketId demarketName == 'Moneyline' pero solo aquellos concountryCode == 'US' || 'GB' Oeven,tName.include?(' @ '). (space antes y después del@) Intenté diferentes combos de mapa y selección, pero algunos nodos no tienencountryCode lo que me complica las cosasEsta es la fuente, pero una muestra de cómo se vería:

{"currencyCode"=>"GBP",
"eventTypes"=>[
    {"eventTypeId"=>7522,
    "eventNodes"=>[
        {"eventId"=>28024331,
        "event"=>
            {"eventName"=>"EWE Baskets Oldenburg v PAOK Thessaloniki BC"
            },
            "marketNodes"=>[
                {"marketId"=>"1.128376755",
                "description"=>
                    {"marketName"=>"Moneyline"}
                },
                {"marketId"=>"1.128377853",
                "description"=>
                    {"marketName"=>"Start Lublin +7.5"}
                }}}]},
        {"eventId"=>28023434,
        "event"=>
            {"eventName"=>"Asseco Gdynia v Start Lublin",
            "countryCode"=>"PL",
            },
            "marketNodes"=>
                [{"marketId"=>"1.128377853", ETC...

Respuestas a la pregunta(1)

Su respuesta a la pregunta