Kudos to you for doing such an enormous overhaul of this system. And not only that, but in ruby. I can't imagine how difficult it would be to work on something of this complexity without a strong type system to check my work, let alone legacy code.
Seriously, congrats - and don't worry about those data structures. You can always benchmark it later :)