Propongo hacer un script de ruby, hace poco hice un trabajo similar y funcionó bien, tengo trabajo adelantado en la implementacion necesitaría detalles de la estructura de datos para ajustar la lógica. Si desea se puede hacer una view que invoque al script de ruby en background. Saludos.