I’ve always been a believer that in order to write first class code, one has to write it as if they will be released in the wild - with all the consistency, documentation and general bad-ass-ness that it requires. And that’s the test I generally use to find out if I’ve written a mess - “Can I release this in the wild with my name attached to it”. Well if the answer is “yes” and I will not have the urge to hide in a dark corner whenever I see someone else using it, then what the hell, why not actually release it.
So to put my money where my mouth is, here are the libraries that I’ve decided to release open source. They are all Kohana 3.2 modules for now, with the ambition to upgrade them to 3.3 in the near future.
- Jam - ORM replacement module, inspired by Kohana Jelly
- Jam Auth - user authentication and permissions with Jam, as well as external service login support (e.g. facebook)
- Services Manager - A library to encapsulate talking to external services, with different configs for different environments
- FuncTest - Functional Testing, inspired by ruby’s Capybara, with selenium and native drivers
- Jamaker - A Database population tool, inspired by Factory Girl
These are all great tools that we use daily in production and have a lot of documentation and examples in their respective README’s, I’ll be really happy to get some feedback on these.
Also, some of the previously released libraries have been updated
- Timestamped Migrations - moved to kohana minion, more options, docs and consistency throughout.
- Assets Merger - added automatic tests to make sure the processors work.
I’ll try to present each one of these libraries on its own in future posts, but for now you can check out the docs of the libraries themselves.