The Ruby Language Specification does not mandate or forbid any particular storage strategy. Any implementation is free to store values anywhere they want in any way. The Specification only says what the result of running a Ruby program should be, not how the program is being run. (Just like any other language specification.)
In SmallRuby, for example, objects may under some circumstances be stored on the disk. And the whole purpose of MagLev is to have a Ruby implementation which can deal with heaps that are orders of magnitude larger than RAM, by storing them in a distributed cluster on disk.