X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/63f9b5374e01394486a07dba4f9a43cfd76707e3..8fa6952e7aaf9afc6d72699b165a693962151a21:/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 c8e6de6302..6b17ececab 100644 --- a/apps/workbench/app/models/arvados_resource_list.rb +++ b/apps/workbench/app/models/arvados_resource_list.rb @@ -15,6 +15,16 @@ class ArvadosResourceList self end + def offset(skip) + @offset = skip + self + end + + def order(orderby_spec) + @orderby_spec = orderby_spec + self + end + def where(cond) cond = cond.dup cond.keys.each do |uuid_key| @@ -46,6 +56,8 @@ class ArvadosResourceList } api_params[:eager] = '1' if @eager api_params[:limit] = @limit if @limit + api_params[:offset] = @offset if @offset + api_params[:order] = @orderby_spec if @orderby_spec res = $arvados_api_client.api @resource_class, '', api_params @results = $arvados_api_client.unpack_api_response res self @@ -56,6 +68,10 @@ class ArvadosResourceList @results end + def results=(r) + @results = r + end + def all where({}) end @@ -98,4 +114,17 @@ class ArvadosResourceList def empty? results.empty? end + + def items_available + results.items_available if results.respond_to? :items_available + end + + def result_limit + results.limit if results.respond_to? :limit + end + + def result_offset + results.offset if results.respond_to? :offset + end + end