Awesome
Racket - The noisy Rack MVC framework
Say what?
Yes. It is yet another framework built on rack. Using MVC. Doing silly stuff while you look the other way.
Why? I though there were a gazillion frameworks that did the same thing already...
You are correct. There are lots of Rack frameworks out there. This one does not pretend to do anything special that you could not get from any of them.
So, I have to ask again. Why did you create this monstrosity?
Well, when my web host suddenly started insisting on using Phusion Passenger on all of their servers I needed to replace my old Ramaze setup without to much hassle. I tried several other Rack framework, but none of them seemed capable of replacing my apps without some major rewrites.
So you just though writing a whole new framework would be easier than using Rails?
Yes. Writing Rack frameworks is easy! And since I am able to decide exactly what features I want I don't need to adopt to a large ecosystem of concepts I do not like.
So, is it any good?
Let us just say it is good enough for my needs at the moment. I plan to add more features/make stuff faster whenever I am finished porting most of my old apps from Ramaze.
Where are the tests?
Have a look in the spec
directory. The code base have tests covering (almost) 100 per cent of the code and I am planning on keeping it that way. At the moment the code is tested on the following platforms (using Travis CI):
- 2.2.10
- 2.3.8
- 2.4.5
- 2.5.3
- 2.6.0
- jruby-9.1.17.0
- jruby-9.2.5.0
- rbx-3.107
I am using bacon and rack-test for testing. Run the tests by typing rake test
in the root directory. Code coverage reports are provided by simplecov. After the tests have run the an HTML report can be found in the coverage
directory.
If you are not interested in running the tests yourself you could have a look at the test status at Travis CI and the code coverage at Codecov. Their stats get updated on every commit.
Alright, I want to try using this stuff. Where are the docs?
At the moment there is not much documentation available, but I have started working on the wiki.
The code itself is documented using Yard. The docs are not generated automatically, you need to run rake doc
in the root directory to generate them. After running the rake task the documentation will be available in the doc
directory. Online documentation is also available from rubydoc.info, both for the latest gem and master.
Why is the code licenced under the GNU Affero General Public License? I want a more liberal licence!
Because I think it is a Good Thing™ to share code. The GNU Affero General Public License licence is very liberal unless you plan on beeing egotistical. I you feel you cannot work with that, please choose something else.