module Libis::Workflow::Base::FileItem
noinspection RubyResolve
Public Instance Methods
checksum(checksum_type)
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 50 def checksum(checksum_type) self.properties[('checksum_' + checksum_type.to_s.downcase)] end
filelist()
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 21 def filelist (self.parent.filelist rescue Array.new).push(filename).compact end
filename()
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 13 def filename File.basename(self.properties['filename']) || self.properties['link'] end
filename=(name)
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 33 def filename=(name) begin stats = ::File.stat name self.properties['size'] = stats.size self.properties['access_time'] = stats.atime self.properties['modification_time'] = stats.mtime self.properties['creation_time'] = stats.ctime self.properties['mode'] = stats.mode self.properties['uid'] = stats.uid self.properties['gid'] = stats.gid set_checksum(:MD5, ::Libis::Tools::Checksum.hexdigest(name, :MD5)) if File.file?(name) rescue => _e # ignored end self.properties['filename'] = name end
filepath()
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 25 def filepath self.filelist.join('/') end
fullpath()
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 29 def fullpath self.properties['filename'] end
link()
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 58 def link self.properties['link'] end
link=(name)
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 62 def link=(name) self.properties['link'] = name end
name()
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 17 def name self.properties['name'] || self.filename end
safe_name()
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 72 def safe_name self.name.to_s.gsub(/[^\w.-]/) { |s| '%%%02x' % s.ord } end
set_checksum(checksum_type, value)
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 54 def set_checksum(checksum_type, value) self.properties[('checksum_' + checksum_type.to_s.downcase)] = value end
set_info(info)
click to toggle source
# File lib/libis/workflow/base/file_item.rb, line 66 def set_info(info) info.each do |k, v| self.properties[k] = v end end