want to combine two searches into one

I would like to merge this method from a controller into a separate model, called search.

class DudesController < ApplicationController def search     @address = params[:address]     @within = params[:within]

    @dudes = Restaurant.find :all,                        :origin => @address,                        :within => @within,                        :order => 'distance'

    respond_to do |format|       format.html # index.html.erb       format.xml { render :xml => @restaurants }     end   end

This is the search model:

class Search < ActiveRecord::Base    acts_as_mappable :auto_geocode => true validates_numericality_of :minimum_age, :maximum_age, :allow_nil => true

def dudes   @dudes ||= find_dudes end


def find_dudes   Dude.find(:all, :conditions => conditions) end

def minimum_age_conditions   ["dudes.birthdate <= ?", Date.today - minimum_age.years] unless minimum_age.blank? end

def maximum_age_conditions    ["dudes.birthdate >= ?", Date.tomorrow - (maximum_age+1).years] unless maximum_age.blank? end

def category_conditions   ["dudes.category_id = ?", category_id] unless category_id.blank? end

def conditions   [conditions_clauses.join(' AND '), *conditions_options] end

def conditions_clauses   conditions_parts.map { |condition| condition.first } end

def conditions_options   conditions_parts.map { |condition| condition[1..-1] }.flatten end

def conditions_parts   private_methods(false).grep(/_conditions$/).map { |m| send(m) }.compact end


I assume I would write something like

def location_conditions


I don't know how to get the dude.address into a location_conditions method. The search controller is a simple scaffold with the search using the create method.