Skip to content
forked from tsmango/union

An extension to ActiveRecord::Base to support unions

Notifications You must be signed in to change notification settings

andrew-github/union

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Plugin Details
--------------
This is an extremely naive 'railsification' of a SQL union.

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 that will eventually be unioned together.

The second paramter, 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:
User.union([{:conditions => ['name = ?', 'tom']}, {:conditions => ['name = ?', 'gary']}], {:order => 'created_at'})

This example produces the following SQL:
(SELECT * FROM `users` WHERE (name = 'tom')) UNION (SELECT * FROM `users` WHERE (namae = 'gary')) ORDER BY created_at;

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.

License
-------
This plugin is available under the MIT license.

Author
------
Thomas Mango
http://slicedsoftware.com

About

An extension to ActiveRecord::Base to support unions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published