diff options
Diffstat (limited to 'app/finders/releases_finder.rb')
-rw-r--r-- | app/finders/releases_finder.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/app/finders/releases_finder.rb b/app/finders/releases_finder.rb index e961ad4c0ca..da72178169e 100644 --- a/app/finders/releases_finder.rb +++ b/app/finders/releases_finder.rb @@ -9,6 +9,9 @@ class ReleasesFinder @parent = parent @current_user = current_user @params = params + + params[:order_by] ||= 'released_at' + params[:sort] ||= 'desc' end def execute(preload: true) @@ -17,7 +20,8 @@ class ReleasesFinder releases = get_releases releases = by_tag(releases) releases = releases.preloaded if preload - releases.sorted + releases = order_releases(releases) + releases end private @@ -57,4 +61,8 @@ class ReleasesFinder releases.where(tag: params[:tag]) end # rubocop: enable CodeReuse/ActiveRecord + + def order_releases(releases) + releases.sort_by_attribute("#{params[:order_by]}_#{params[:sort]}") + end end |