diff options
| author | mo <mokha@cisco.com> | 2017-08-31 14:59:30 -0600 |
|---|---|---|
| committer | mo <mokha@cisco.com> | 2017-08-31 14:59:30 -0600 |
| commit | 85b4e006052f51dfb7fb02ee1fe7d6914cb6b17c (patch) | |
| tree | 135a16f774a7a1278f5d00812532741a54bcd5c2 | |
| parent | 29226203fe7cc1c5fddd49a5017e1719f2cf17ce (diff) | |
add default sort.
| -rw-r--r-- | app/models/concerns/queryable.rb | 7 | ||||
| -rw-r--r-- | app/models/creation/repository.rb | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/app/models/concerns/queryable.rb b/app/models/concerns/queryable.rb index 5d75e638..1d9468ab 100644 --- a/app/models/concerns/queryable.rb +++ b/app/models/concerns/queryable.rb @@ -41,6 +41,13 @@ module Queryable end end + def if_missing(key, &filter) + return if params[key].present? + add do |relation| + filter.call(relation, normalize(params[key])) + end + end + def each(&block) @filters.each(&block) end diff --git a/app/models/creation/repository.rb b/app/models/creation/repository.rb index 4d9adf44..a2082932 100644 --- a/app/models/creation/repository.rb +++ b/app/models/creation/repository.rb @@ -46,6 +46,9 @@ class Creation builder.if_present(:sort) do |relation, sort_order| relation.sorted_by(sort_order) end + builder.if_missing(:sort) do |relation, sort_order| + relation.sorted_by("newest") + end end end end |
