projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
3824: Merge branch 'master' into 3824-crunch-container-setup
[arvados.git]
/
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 258aa44e2e2e8d0c5ec90515a108e6c5ed74a455..1a3c6b7e3c8e55036306743843f31839489c4da3 100644
(file)
--- a/
apps/workbench/app/models/arvados_resource_list.rb
+++ b/
apps/workbench/app/models/arvados_resource_list.rb
@@
-1,4
+1,5
@@
class ArvadosResourceList
class ArvadosResourceList
+ include ArvadosApiClientHelper
include Enumerable
def initialize resource_class=nil
include Enumerable
def initialize resource_class=nil
@@
-25,6
+26,17
@@
class ArvadosResourceList
self
end
self
end
+ def select(columns=nil)
+ # If no column arguments were given, invoke Enumerable#select.
+ if columns.nil?
+ super()
+ else
+ @select ||= []
+ @select += columns
+ self
+ end
+ end
+
def filter _filters
@filters ||= []
@filters += _filters
def filter _filters
@filters ||= []
@filters += _filters
@@
-53,7
+65,7
@@
class ArvadosResourceList
end
cond.keys.select { |x| x.match /_kind$/ }.each do |kind_key|
if cond[kind_key].is_a? Class
end
cond.keys.select { |x| x.match /_kind$/ }.each do |kind_key|
if cond[kind_key].is_a? Class
- cond = cond.merge({ kind_key => 'arvados#' +
$
arvados_api_client.class_kind(cond[kind_key]) })
+ cond = cond.merge({ kind_key => 'arvados#' + arvados_api_client.class_kind(cond[kind_key]) })
end
end
api_params = {
end
end
api_params = {
@@
-63,10
+75,11
@@
class ArvadosResourceList
api_params[:eager] = '1' if @eager
api_params[:limit] = @limit if @limit
api_params[:offset] = @offset if @offset
api_params[:eager] = '1' if @eager
api_params[:limit] = @limit if @limit
api_params[:offset] = @offset if @offset
+ api_params[:select] = @select if @select
api_params[:order] = @orderby_spec if @orderby_spec
api_params[:filters] = @filters if @filters
api_params[:order] = @orderby_spec if @orderby_spec
api_params[:filters] = @filters if @filters
- res =
$
arvados_api_client.api @resource_class, '', api_params
- @results =
$
arvados_api_client.unpack_api_response res
+ res = arvados_api_client.api @resource_class, '', api_params
+ @results = arvados_api_client.unpack_api_response res
self
end
self
end
@@
-90,6
+103,12
@@
class ArvadosResourceList
self
end
self
end
+ def collect
+ results.collect do |m|
+ yield m
+ end
+ end
+
def first
results.first
end
def first
results.first
end