X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7f3ed5e22e01b9cc8efe9ebfc79a2591b37b14d7..bc59a822ddb8e55739fdbdb04e6fbd78d5116450:/apps/workbench/app/models/collection.rb diff --git a/apps/workbench/app/models/collection.rb b/apps/workbench/app/models/collection.rb index 24e6da59ba..edd87add19 100644 --- a/apps/workbench/app/models/collection.rb +++ b/apps/workbench/app/models/collection.rb @@ -21,17 +21,17 @@ class Collection < ArvadosBase end def manifest - Keep::Manifest.new(manifest_text || "") + if @manifest.nil? or manifest_text_changed? + @manifest = Keep::Manifest.new(manifest_text || "") + end + @manifest end def files # This method provides backwards compatibility for code that relied on # the old files field in API results. New code should use manifest # methods directly. - if @files.nil? or manifest_text_changed? - @files = manifest.each_file.to_a - end - @files + manifest.files end def content_summary @@ -39,11 +39,11 @@ class Collection < ArvadosBase end def total_bytes - manifest.each_file.inject(0) { |sum, filespec| sum + filespec.last } + manifest.files.inject(0) { |sum, filespec| sum + filespec.last } end def files_tree - tree = manifest.each_file.group_by do |file_spec| + tree = manifest.files.group_by do |file_spec| File.split(file_spec.first) end return [] if tree.empty?