Module: Gitlab::Search::SortOptions

Defined in:
lib/gitlab/search/sort_options.rb

Class Method Summary collapse

Class Method Details

.sort_and_direction(order_by, sort) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/gitlab/search/sort_options.rb', line 6

def sort_and_direction(order_by, sort)
  # Due to different uses of sort param in web vs. API requests we prefer
  # order_by when present
  case [order_by, sort]
  when %w[created_at asc], [nil, 'created_asc']
    :created_at_asc
  when %w[created_at desc], [nil, 'created_desc']
    :created_at_desc
  when %w[updated_at asc], [nil, 'updated_asc']
    :updated_at_asc
  when %w[updated_at desc], [nil, 'updated_desc']
    :updated_at_desc
  when %w[popularity asc], [nil, 'popularity_asc']
    :popularity_asc
  when %w[popularity desc], [nil, 'popularity_desc']
    :popularity_desc
  else
    :unknown
  end
end