Lucky
A full-featured Crystal web framework that catches bugs for you
...Instead of finding bugs in QA or in production, Lucky is designed to catch as many bugs as possible at compile time. Lucky uses Action classes for handling HTTP requests and responses. The classes map the routes and parameters it handles to a response block. Lucky can generate these classes for you with ’lucky gen.action`. Using a class per action provides very solid automatic error detection, as well as the generation of routing, path, and link helpers and methods.