Объединить массивы условий в Rails

Я использую бета-версию Rails3, гем will_paginate и плагин geokit gem &.

Поскольку плагин geokit-rails, похоже, не поддерживает области Rails3 (включая проблему с символом: origin), мне нужно использовать синтаксис .find.

Вместо областей мне нужно объединить два набора критериев в формате массива:

У меня есть условие по умолчанию:

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

Мне может понадобиться добавить одно из следующих условий к условию по умолчанию, в зависимости от выбора пользовательского интерфейса:

#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]}

Результирующий запрос напоминает:

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

Вопросы:

Есть ли простой способ объединить эти два массива условий (если я правильно сформулировал это)Хотя это не усугубляет проблему, есть ли СУХОЙ способ создать эти стареющие ведра?Есть ли способ использовать области Rails3 с плагином geokit-rails, который будет работать?

Спасибо за ваше время.

Ответы на вопрос(2)

Ваш ответ на вопрос