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
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