X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/41bd04e7f25b0b5882e971ff7104e3f17c19bf5b..b5d352d6099b60db5dcdd9183dcab3e8e17d729e:/apps/workbench/app/models/arvados_resource_list.rb diff --git a/apps/workbench/app/models/arvados_resource_list.rb b/apps/workbench/app/models/arvados_resource_list.rb index 9f66d39227..35dcde38da 100644 --- a/apps/workbench/app/models/arvados_resource_list.rb +++ b/apps/workbench/app/models/arvados_resource_list.rb @@ -84,6 +84,13 @@ class ArvadosResourceList self end + # with_count sets the 'count' parameter to 'exact' or 'none' -- see + # https://doc.arvados.org/api/methods.html#index + def with_count(count_param='exact') + @count = count_param + self + end + def fetch_multiple_pages(f) @fetch_multiple_pages = f self @@ -178,13 +185,17 @@ class ArvadosResourceList api_params = { _method: 'GET' } + api_params[:count] = @count if @count api_params[:where] = @cond if @cond api_params[:eager] = '1' if @eager api_params[:select] = @select if @select api_params[:order] = @orderby_spec if @orderby_spec api_params[:filters] = @filters if @filters api_params[:distinct] = @distinct if @distinct - + if @fetch_multiple_pages + # Default limit to (effectively) api server's MAX_LIMIT + api_params[:limit] = 2**(0.size*8 - 1) - 1 + end item_count = 0 offset = @offset || 0