Etrain的后端Ruby版