20690: Remove workbench1 and testing/packaging references.
[arvados.git] / apps / workbench / app / models / collection.rb
diff --git a/apps/workbench/app/models/collection.rb b/apps/workbench/app/models/collection.rb
deleted file mode 100644 (file)
index ead2c95..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright (C) The Arvados Authors. All rights reserved.
-#
-# SPDX-License-Identifier: AGPL-3.0
-
-require "arvados/keep"
-
-class Collection < ArvadosBase
-  MD5_EMPTY = 'd41d8cd98f00b204e9800998ecf8427e'
-
-  def default_name
-    if Collection.is_empty_blob_locator? self.uuid
-      "Empty Collection"
-    else
-      super
-    end
-  end
-
-  # Return true if the given string is the locator of a zero-length blob
-  def self.is_empty_blob_locator? locator
-    !!locator.to_s.match("^#{MD5_EMPTY}(\\+.*)?\$")
-  end
-
-  def self.goes_in_projects?
-    true
-  end
-
-  def manifest
-    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.
-    manifest.files
-  end
-
-  def content_summary
-    if total_bytes > 0
-      ApplicationController.helpers.human_readable_bytes_html(total_bytes) + " " + super
-    else
-      super + " modified at " + modified_at.to_s
-    end
-  end
-
-  def total_bytes
-    manifest.files.inject(0) { |sum, filespec| sum + filespec.last }
-  end
-
-  def files_tree
-    tree = manifest.files.group_by do |file_spec|
-      File.split(file_spec.first)
-    end
-    return [] if tree.empty?
-    # Fill in entries for empty directories.
-    tree.keys.map { |basedir, _| File.split(basedir) }.each do |splitdir|
-      until tree.include?(splitdir)
-        tree[splitdir] = []
-        splitdir = File.split(splitdir.first)
-      end
-    end
-    dir_to_tree = lambda do |dirname|
-      # First list subdirectories, with their files inside.
-      subnodes = tree.keys.select { |bd, td| (bd == dirname) and (td != '.') }
-        .sort.flat_map do |parts|
-        [parts + [nil]] + dir_to_tree.call(File.join(parts))
-      end
-      # Then extend that list with files in this directory, except the empty dir placeholders (0:0:. files).
-      subnodes + tree[File.split(dirname)].reject { |_, basename, size| (basename == '.') and (size == 0) }
-    end
-    dir_to_tree.call('.')
-  end
-
-  def editable_attributes
-    %w(name description manifest_text filename)
-  end
-
-  def provenance
-    arvados_api_client.api "collections/#{self.uuid}/", "provenance"
-  end
-
-  def used_by
-    arvados_api_client.api "collections/#{self.uuid}/", "used_by"
-  end
-
-  def friendly_link_name lookup=nil
-    name || portable_data_hash
-  end
-
-  def textile_attributes
-    [ 'description' ]
-  end
-
-  def untrash
-    arvados_api_client.api(self.class, "/#{self.uuid}/untrash", {"ensure_unique_name" => true})
-  end
-end