Rails UNIQUE INDEX allowing null or empty values

It's a common scenario we need to place a UNIQUE INDEX database constraint for data integrity. But sometime the requirements comes like we need to allow null/empty values for that column.

Discard nil Hash values in Ruby

Sometime we need to cleanup a hash based for nil values. If you're using Rails/ActiveSupport it's really easy.

Live preview Rails Mailer templates while developing

Developing email templates and sending a new mail every time to view a change is very inefficient and painful. Rails comes in rescue again. With mailer preview, you can view the changes in your browser just like any other page template.

How to get human readable file size on Mac (/*BSD) terminal

Getting file size from OSX terminal is a pain. Actually it's a pain in all BSD variants. We normally use `ls -sh` on Linux derivatives. But this command on Mac doesn't return a human readable value.

My first RubyGem capistrano-erb-uploader 0.1 released

I was impatient to hard code different env values in configuration files like NginX, Monit conf. So, the birth of Capistrano ERB Uploader.

How to change table for Rails models on the fly

Maybe you need your multi tenant application database to partition horizontally (shard). Probably you want to store different customers data in different tables.