(This is off-topic for the rails list).
IMO, subclassing Hash like this isn't a good idea. Hash has too many methods to get intermixed with your "open" methods. Why not just expose the internal hash that OpenStruct uses:
class OpenStruct attr_reader :table end
Then you can iterate over myobj.table