Combinar conjuntos de condiciones en Rails

Estoy usando la versión beta de Rails3, la gema will_paginate y el geokit gem & plugin.

Como el complemento geokit-rails no parece admitir ámbitos Rails3 (incluido el símbolo de origen es el problema), necesito usar la sintaxis .find.

En lugar de ámbitos, necesito combinar dos conjuntos de criterios en formato de matriz:

Tengo una condición predeterminada:

conditions = ["invoices.cancelled = ? AND invoices.paid = ?", false, false]

Es posible que deba agregar una de las siguientes condiciones a la condición predeterminada, dependiendo de una selección de IU:

#aged 0
lambda {["created_at IS NULL OR created_at < ?", Date.today + 30.days]}
#aged 30
lambda {["created_at >= ? AND created_at < ?", Date.today + 30.days, Date.today + 60.days]}
#aged > 90
lamdba {["created_at >= ?", Date.today + 90.days]}

La consulta resultante se parece a:

@invoices = Invoice.find(
  :all, 
  :conditions => conditions,
  :origin => ll     #current_user's lat/lng pair
  ).paginate(:per_page => @per_page, :page => params[:page])

Preguntas:

¿Hay una manera fácil de combinar estas dos matrices de condiciones (si lo he redactado correctamente)Si bien no está contribuyendo al problema, ¿hay una forma SECA de crear estos cubos de envejecimiento?¿Hay alguna manera de usar los ámbitos Rails3 con el complemento geokit-rails que funcionará?

Gracias por tu tiempo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta