Ruby - это язык сценариев, и он интерпретируется во время выполнения интерпретатором Ruby. Код Ruby интерпретируется и преобразуется в язык машинного уровня, т.е. код сборки. Говоря о независимости платформы, вы можете запускать код ruby на любой из платформ, таких как Linux, Windows или Mac, если у вас установлен зависимый от платформы Ruby Interpreter.
Где, как и в Java, он компилируется и преобразуется в промежуточный байтовый класс, и этот байтовый класс интерпретируется зависимой от платформы JVM (виртуальной машиной Java).
Таким образом, вы можете считать, что исходный файл Ruby является классом байтов, который можно запускать на любой платформе, при этом один байтовый класс различий уже скомпилирован, но исходный файл ruby будет скомпилирован во время выполнения.