projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '5176-escape-filenames'
[arvados.git]
/
apps
/
workbench
/
app
/
models
/
collection.rb
diff --git
a/apps/workbench/app/models/collection.rb
b/apps/workbench/app/models/collection.rb
index 24e6da59babfaa30f3e9e00a75d59ee7d02b79b4..1bd711be6423fad3fc0b360cce9e918653419fdb 100644
(file)
--- a/
apps/workbench/app/models/collection.rb
+++ b/
apps/workbench/app/models/collection.rb
@@
-21,17
+21,17
@@
class Collection < ArvadosBase
end
def manifest
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.
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
end
def content_summary
@@
-39,11
+39,11
@@
class Collection < ArvadosBase
end
def total_bytes
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
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?
File.split(file_spec.first)
end
return [] if tree.empty?
@@
-66,16
+66,8
@@
class Collection < ArvadosBase
dir_to_tree.call('.')
end
dir_to_tree.call('.')
end
- def attribute_editable? attr, *args
- if %w(name description manifest_text).include? attr.to_s
- true
- else
- super
- end
- end
-
- def self.creatable?
- false
+ def editable_attributes
+ %w(name description manifest_text)
end
def provenance
end
def provenance
@@
-94,20
+86,12
@@
class Collection < ArvadosBase
end
end
end
end
- def portable_data_hash
- if self[:portable_data_hash].nil?
- return self[:uuid]
- else
- super
- end
+ def friendly_link_name lookup=nil
+ name || portable_data_hash
end
end
- def friendly_link_name
- if self.respond_to? :name
- self.name
- else
- self.portable_data_hash
- end
+ def textile_attributes
+ [ 'description' ]
end
end
end
end