I use Rutie[0] to handle passing complex ruby objects to Rust and it works well. You can also use Rutie-Serde[1] which handles even more of the heavy lifting for parsing Ruby objects into Rust structs.
[0] https://github.com/danielpclark/rutie [1] https://github.com/deliveroo/rutie-serde