Skip to content

Instantly share code, notes, and snippets.

@a2ikm
Created October 20, 2010 15:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save a2ikm/636659 to your computer and use it in GitHub Desktop.
Save a2ikm/636659 to your computer and use it in GitHub Desktop.
generate named_scopes for each column
# coding: utf-8
module Searchable
def search(params={})
return self.scoped if params.nil?
params.reject{|k,v|v.blank?}.to_a.inject(self) do |base,param|
base.send(param.first, param.last)
end
end
def self.extended(base)
base.column_names.each do |column_name|
base.class_eval %Q{
named_scope :#{column_name}, lambda { |val| {
:conditions => { :#{column_name} => val }
}}
}
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment