I'm the original author and maintainer of pg_search
.
A pg_search_scope
works like any other Active Record scope, so you can chain them.
So let's say you have a model Blog
with a pg_search_scope
named search_title
and another scope named in_month
that takes two parameters, a month number and a year number. Something like this:
class Blog < ActiveRecord::Base
include PgSearch
pg_search_scope :search_title, :against => :title
scope :in_month, lambda { |month_number, year_number|
where(:month => month_number, :year => year_number)
}
end
Then you can call it like this:
Blog.search_title("broccoli").in_month(6, 2011)
The reverse should also work:
Blog.in_month(6, 2011).search_title("broccoli")
And pagination solutions like Kaminari could also be called on the end.