From a7b2bd7694dc3fbcc2004dbffacddb9a44ad3e3e Mon Sep 17 00:00:00 2001 From: Victor Costa Date: Tue, 14 Apr 2015 22:37:48 -0300 Subject: [PATCH] api: accept order parameter --- lib/noosfero/api/helpers.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/noosfero/api/helpers.rb b/lib/noosfero/api/helpers.rb index 30bd7eb..b62249d 100644 --- a/lib/noosfero/api/helpers.rb +++ b/lib/noosfero/api/helpers.rb @@ -67,15 +67,19 @@ module Noosfero conditions end - - + + def make_order_with_parameters(params) + params[:order] || "created_at DESC" + end + def select_filtered_collection_of(object, method, params) conditions = make_conditions_with_parameter(params) - + order = make_order_with_parameters(params) + if params[:reference_id] - objects = object.send(method).send("#{params.key?(:oldest) ? 'older_than' : 'newer_than'}", params[:reference_id]).where(conditions).limit(limit).order("created_at DESC") + objects = object.send(method).send("#{params.key?(:oldest) ? 'older_than' : 'newer_than'}", params[:reference_id]).where(conditions).limit(limit).order(order) else - objects = object.send(method).where(conditions).limit(limit).order("created_at DESC") + objects = object.send(method).where(conditions).limit(limit).order(order) end objects end -- libgit2 0.21.2