X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9997ada67ce36d2fbe831bce473aa61250727aff..c7cf228372bee18d84b14fc4089a758bc157fe76:/apps/workbench/app/helpers/collections_helper.rb diff --git a/apps/workbench/app/helpers/collections_helper.rb b/apps/workbench/app/helpers/collections_helper.rb deleted file mode 100644 index f5f54851e7..0000000000 --- a/apps/workbench/app/helpers/collections_helper.rb +++ /dev/null @@ -1,81 +0,0 @@ -# Copyright (C) The Arvados Authors. All rights reserved. -# -# SPDX-License-Identifier: AGPL-3.0 - -module CollectionsHelper - def d3ify_links(links) - links.collect do |x| - {source: x.tail_uuid, target: x.head_uuid, type: x.name} - end - end - - ## - # Regex match for collection portable data hash, returns a regex match object with the - # hash in group 1, (optional) size in group 2, (optional) subsequent uuid - # fields in group 3, and (optional) file path within the collection as group - # 4 - # returns nil for no match. - # - # +pdh+ the portable data hash string to match - # - def self.match(pdh) - /^([a-f0-9]{32})(\+\d+)(\+[^+]+)*?(\/.*)?$/.match(pdh.to_s) - end - - ## - # Regex match for collection UUIDs, returns a regex match object with the - # uuid in group 1, empty groups 2 and 3 (for consistency with the match - # method above), and (optional) file path within the collection as group - # 4. - # returns nil for no match. - # - def self.match_uuid_with_optional_filepath(uuid_with_optional_file) - /^([0-9a-z]{5}-4zz18-[0-9a-z]{15})()()(\/.*)?$/.match(uuid_with_optional_file.to_s) - end - - ## - # Regex match for common image file extensions, returns a regex match object - # with the matched extension in group 1; or nil for no match. - # - # +file+ the file string to match - # - def self.is_image file - /\.(jpg|jpeg|gif|png|svg)$/i.match(file) - end - - ## - # Generates a relative file path than can be appended to the URL of a - # collection to get a file download link without adding a spurious ./ at the - # beginning for files in the default stream. - # - # +file+ an entry in the Collection.files list in the form [stream, name, size] - # - def self.file_path file - f0 = file[0] - f0 = '' if f0 == '.' - f0 = f0[2..-1] if f0[0..1] == './' - f0 += '/' if not f0.empty? - file_path = "#{f0}#{file[1]}" - end - - ## - # Check if collection preview is allowed for the given filename with extension - # - def preview_allowed_for file_name - file_type = MIME::Types.type_for(file_name).first - if file_type.nil? - if file_name.downcase.end_with?('.cwl') # unknown mime type, but we support preview - true - else - false - end - elsif (file_type.raw_media_type == "text") || (file_type.raw_media_type == "image") - true - elsif (file_type.raw_media_type == "application") && - (Rails.configuration.application_mimetypes_with_view_icon.include? (file_type.sub_type)) - true - else - false - end - end -end