Module: Libis::Workflow::Base::FileItem
Overview
noinspection RubyResolve
Instance Method Summary collapse
- #checksum(checksum_type) ⇒ Object
- #filelist ⇒ Object
- #filename ⇒ Object
- #filename=(name) ⇒ Object
- #filepath ⇒ Object
- #fullpath ⇒ Object
- #link ⇒ Object
- #link=(name) ⇒ Object
- #name ⇒ Object
- #safe_name ⇒ Object
- #set_checksum(checksum_type, value) ⇒ Object
- #set_info(info) ⇒ Object
Instance Method Details
#checksum(checksum_type) ⇒ Object
50 51 52 |
# File 'lib/libis/workflow/base/file_item.rb', line 50 def checksum(checksum_type) self.properties[('checksum_' + checksum_type.to_s.downcase)] end |
#filelist ⇒ Object
21 22 23 |
# File 'lib/libis/workflow/base/file_item.rb', line 21 def filelist (self.parent.filelist rescue Array.new).push(filename).compact end |
#filename ⇒ Object
13 14 15 |
# File 'lib/libis/workflow/base/file_item.rb', line 13 def filename File.basename(self.properties['filename']) || self.properties['link'] end |
#filename=(name) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# 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 ⇒ Object
25 26 27 |
# File 'lib/libis/workflow/base/file_item.rb', line 25 def filepath self.filelist.join('/') end |
#fullpath ⇒ Object
29 30 31 |
# File 'lib/libis/workflow/base/file_item.rb', line 29 def fullpath self.properties['filename'] end |
#link ⇒ Object
58 59 60 |
# File 'lib/libis/workflow/base/file_item.rb', line 58 def link self.properties['link'] end |
#link=(name) ⇒ Object
62 63 64 |
# File 'lib/libis/workflow/base/file_item.rb', line 62 def link=(name) self.properties['link'] = name end |
#name ⇒ Object
17 18 19 |
# File 'lib/libis/workflow/base/file_item.rb', line 17 def name self.properties['name'] || self.filename end |
#safe_name ⇒ Object
72 73 74 |
# 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) ⇒ Object
54 55 56 |
# 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) ⇒ Object
66 67 68 69 70 |
# 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 |