Ruby es un lenguaje de programación interpretado, dinámico y orientado a objetos. Sus características incluyen tipado dinámico, herencia, métodos, bloques, iteradores, manejo automático de memoria, y acceso directo al sistema operativo. Ruby también soporta arreglos, hashes, expresiones regulares, lectura/escritura de archivos, y manejo de excepciones.