Alright, this pull request is about a lot of issues:
43 -> The router was optimized by having static routes stored on a simple hash and wildcard routes insertion are done in a "optimal" order by using the medians of medians instead making the tree self balanced as I initially wanted to do. Although it increased insertion time a bit, it still takes less than a second to register and build 1000 routes
38 -> We can override previously registered routes and if we require the application code last we always wil. It still doesnt support controller inheritance though (are we even going to support it?). Because of that, reloading Controllers code (#28) would also work (but deleted routes would still work)
17 -> Closed! We can use anything that is inside Request#params as a variable on routes, even wildcard arguments as they are available from there as well
Take your time to review the code, it's a lot of changes :-)
Alright, this pull request is about a lot of issues:
43 -> The router was optimized by having static routes stored on a simple hash and wildcard routes insertion are done in a "optimal" order by using the medians of medians instead making the tree self balanced as I initially wanted to do. Although it increased insertion time a bit, it still takes less than a second to register and build 1000 routes
38 -> We can override previously registered routes and if we require the application code last we always wil. It still doesnt support controller inheritance though (are we even going to support it?). Because of that, reloading Controllers code (#28) would also work (but deleted routes would still work)
17 -> Closed! We can use anything that is inside
Request#params
as a variable on routes, even wildcard arguments as they are available from there as wellTake your time to review the code, it's a lot of changes :-)