7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/slack-ruby-bot-server/api/helpers/sort_helpers.rb', line 7
def sort_order(options = {})
params[:sort] = options[:default_sort_order] unless params[:sort]
return [] unless params[:sort]
sort_order = params[:sort].to_s
unless options[:default_sort_order] == sort_order
supported_sort_orders = route_sort
error!("This API doesn't support sorting", 400) if supported_sort_orders.blank?
unless supported_sort_orders.include?(sort_order)
error!("Invalid sort order: #{sort_order}, must be#{supported_sort_orders.count == 1 ? '' : ' one of'} '#{supported_sort_orders.join("', '")}'", 400)
end
end
sort_order = sort_order.split(',').map do |sort_entry|
sort_order = {}
if sort_entry[0] == '-'
sort_order[:direction] = :desc
sort_order[:column] = sort_entry[1..-1]
else
sort_order[:direction] = :asc
sort_order[:column] = sort_entry
end
error!("Invalid sort: #{sort_entry}", 400) if sort_order[:column].blank?
sort_order
end
sort_order
end
|