A Simple .union Extension For ActiveRecord
I just wrote and released my first rails plugin, called union. It’s absurdly simple and fairly naive. I wrote this plugin so that I didn’t have to look at an ugly UNION I was running in a find_by_sql.
The first parameter, parts, is an array of hashes. Each hash is what you would normally send into a single find and represents each SELECT. All parts will be unioned together.
The second parameter, options, is a hash of remaining options to be applied to the UNION of the parts (ie: order, limit, offset).
A simple (and useless) example would be:
This example produces the following SQL:
Essentially you can do any union, but it’s up to you to make sure you don’t pass the wrong stuff in because it’s a pretty dumb implementation.