tchandy / railswhere forked from timcharper/railswhere
- Source
- Commits
- Network (1)
- Downloads (3)
- Wiki (1)
- Graphs
-
Branch:
master
| name | age | message | |
|---|---|---|---|
| |
CHANGELOG | Tue Apr 29 23:37:26 -0700 2008 | |
| |
MIT-LICENSE | Sun Sep 13 10:23:33 -0700 2009 | |
| |
README.textile | Sun Sep 13 14:48:17 -0700 2009 | |
| |
Rakefile | Sun Sep 13 10:23:33 -0700 2009 | |
| |
init.rb | Tue Nov 13 09:36:55 -0800 2007 | |
| |
lib/ | Sun Sep 13 10:23:33 -0700 2009 | |
| |
test/ | Sun Sep 13 10:23:33 -0700 2009 |
README.textile
Where clause generator
Usage example
Returning SQL
sql = Where.new('x=?',5).and( Where.new('x=?',6).or('x=?',7)).to_s`
returns (x=5) and ( ( x=6 ) or ( x=7 ) )
Building a complicated where clause made easy
def get_search_query_string
where = Where.new
where.and('users.first_name like ?', params[:search_first_name] + '%') unless params[:search_first_name].blank?
where.and('users.last_name like ?', params[:search_last_name] + '%') unless params[:search_last_name].blank?
status_where = Where.new
for status in params[search_statuses].split(',')
status_where.or 'status=?', status
end
where.and status_where unless status_where.blank?
where.to_s
end
User.find(:all, :conditions => get_search_query_string)`
Inline
User.find(:all, :conditions => Where.new('first_name like ?', 'Tim').and('last_name like ?', 'Harper') )
Sweet chaining action!
Author:
Tim Harper ( “timseeharperATgmail.seeom”.gsub(“see”, “c”).gsub(“AT”, “@”) )
Contributor:
Thiago Pradi (http://github.com/tchandy)
