X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/dca6cfe9750d8d1be4f3b63895b8cb73cc6c4cfe..ab371a54c3522c06fbc82c9838a24c6f53122a6e:/services/api/lib/load_param.rb diff --git a/services/api/lib/load_param.rb b/services/api/lib/load_param.rb index 11f18f707a..71678cd223 100644 --- a/services/api/lib/load_param.rb +++ b/services/api/lib/load_param.rb @@ -34,8 +34,10 @@ module LoadParam elsif params[:filters].is_a? String and !params[:filters].empty? begin f = Oj.load params[:filters] - raise unless f.is_a? Array - @filters += f + if not f.nil? + raise unless f.is_a? Array + @filters += f + end rescue raise ArgumentError.new("Could not parse \"filters\" param as an array") end @@ -72,9 +74,13 @@ module LoadParam od = [] (case params[:order] when String - od = Oj.load(params[:order]) - raise unless od.is_a? Array - od + if params[:order].starts_with? '[' + od = Oj.load(params[:order]) + raise unless od.is_a? Array + od + else + params[:order].split(',') + end when Array params[:order] else @@ -101,7 +107,7 @@ module LoadParam when String begin @select = Oj.load params[:select] - raise unless @select.is_a? Array + raise unless @select.is_a? Array or @select.nil? rescue raise ArgumentError.new("Could not parse \"select\" param as an array") end