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
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?
dir_to_tree.call('.')
end
- def attribute_editable? attr, *args
- if %w(name description manifest_text).include? attr.to_s
- true
- else
- super
- end
+ def editable_attributes
+ %w(name description manifest_text)
end
def self.creatable?
end
end
- def friendly_link_name
+ def friendly_link_name lookup=nil
if self.respond_to? :name
self.name
else
end
end
+ def textile_attributes
+ [ 'description' ]
+ end
+
end