I do understand when you say:” Rails however seemed limited to simpler use cases” and that is ActiveRecord fault, maybe you shod try using Datamapper or Sequel for your model layer, that will give you some more flexibility specialty in legacy data models, the normal way to evaluate them is using Merb frame work.