MetaSkills.net

My Projects

Posted On: May 12th, 2008 by kencollins

NamedScope Plugin

This one is for all those left behind on rails 2.0.4 or even gasp... rails 1.2.6. This is an incredibly well tested backport of NamedScope. It even comes with those fancy .first, .last, and .all methods that can be used on classes and associations. This can be incredible useful if you are looking to upgrade your app in a way that is forward compatible.

GroupedScope Plugin

GroupedScope aims to make two things easier in your ActiveRecord models. First, provide a easy way to group objects, second, to allow the group to share associated object via existing has_many relationships. See installation and usage for more details.

Capistrano: Remote Shared Cache Strategy

This class greatly speeds up deploy times to multiple hosts by only updating your latest source code to a shared location accessible to all other servers. For instance, if you have 5 app servers in your cluster then the code update only happens with the primary or first server while all others use the shared cache to copy from. The remote shared cache can be updated by either a direct SCM export or a local export copy to target host. Notables on this project include:

  • An add_rollback method that takes a block of code that can be added to the task_call_frames stack of existing transactions. Allows transactions to be added within transactions.
  • A primary_app_server method that finds the primary or first app server.
  • http://github.com/metaskills/remote_shared_cache/tree/master

HomeMarks: Simple Bookmark Start Page

HomeMarks was my first rails project when I was both learning to program in both Ruby and JavaScript. It allows you to create a simple bookmark start page that organizes links into colored boxes sorted in columns. A common practice by all web developers I knew, this time you do not have to code your own HTML.

HomeMarks is undergoing a COMPLETE rewrite for the upcoming Rails 2.1 release. Hopefully it will be done by then but here are a few features to look out for. Usage of the cookie store session Complete tests with foxy fixtures, the shoulda testing plugin and mocha. Unobtrusive JavaScript, not one bit of tag soup. Developed on SQLite. Restful resources and authentication. And lastly a crazy new approach to lightweight controllers that do no RJS, or anything associated with view code (all view dynamics are 100% client-side JavaScript). Keep an eye out on my blog for articles as the rewrite progresses. You can track the rewrite on the github page.

MetaTheme: Mephisto Theme

The Meta theme was originally written for Drupal in late 2005 and converted to Mephisto in March 2008 for version 0.8, the Drax Edition. The theme incorporates quite a few publishing conventions which are listed below: