summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo <mokha@cisco.com>2017-08-31 14:59:30 -0600
committermo <mokha@cisco.com>2017-08-31 14:59:30 -0600
commit85b4e006052f51dfb7fb02ee1fe7d6914cb6b17c (patch)
tree135a16f774a7a1278f5d00812532741a54bcd5c2
parent29226203fe7cc1c5fddd49a5017e1719f2cf17ce (diff)
add default sort.
-rw-r--r--app/models/concerns/queryable.rb7
-rw-r--r--app/models/creation/repository.rb3
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