This modular sinatra application takes a different approach that lead to use
Sinatra extensions to add new routes, instead of creating subclasses of
Sinatra::Base
(as controllers) loaded as a rack stack.
With this analysis we get an easier way for testing the whole application, as
it is not needed to redefine the app
method for tests of each Sinatra::Base
subclass.
Also this project takes the datamapper pattern for ORM as an experimental exercise. As Hibernate in the Java land, no migrations are needed.