Skip to content

Instantly share code, notes, and snippets.

@murraycs
Created January 4, 2012 20:50
Show Gist options
  • Save murraycs/1562068 to your computer and use it in GitHub Desktop.
Save murraycs/1562068 to your computer and use it in GitHub Desktop.
Search with height
def self.prepare_params_for_search(params)
search = {}.merge(params)
search['metro_area_id'] = params[:metro_area_id] || nil
search['gender'] = params[:gender] || nil
search['state_id'] = params[:state_id] || nil
search['country_id'] = params[:country_id] || nil
search['skill_id'] = params[:skill_id] || nil
search['education'] = params[:education] || nil
search['bodytype'] = params[:bodytype] || nil
search['children'] = params[:children] || nil
search['smoking'] = params[:smoking] || nil
search['minheight'] = params[:minheight] || nil
search['maxheight'] = params[:maxheight] || nil
search
end
def self.build_conditions_for_search(search)
cond = Caboose::EZ::Condition.new
cond.append ['activated_at IS NOT NULL ']
if search['country_id'] && !(search['metro_area_id'] || search['state_id'])
cond.append(['country_id = ?', search['country_id'].to_s])
end
if search['state_id'] && !search['metro_area_id']
cond.append(['state_id = ?', search['state_id'].to_s])
end
if search['metro_area_id']
cond.append(['metro_area_id = ?', search['metro_area_id'].to_s])
end
if search['gender']
cond.append(['gender = ?', search['gender'].to_s])
end
if search['education']
cond.append(['education = ?', search['education'].to_s])
end
if search['bodytype']
cond.append(['bodytype = ?', search['bodytype'].to_s])
end
if search['children']
cond.append(['children = ?', search['children'].to_s])
end
if search['smoking']
cond.append(['smoking = ?', search['smoking'].to_s])
end
if search['login']
cond.login =~ "%#{search['login']}%"
end
if search['vendor']
cond.vendor == true
end
if search['description']
cond.description =~ "%#{search['description']}%"
end
if search['minheight'] || search['maxheight']
cond.append(['height between ? and ?'], search[minheight.to_s], search[maxheight.to_s])
cond
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment