Module: Libis::Workflow::Base::FileItem
Overview
Instance Method Summary
collapse
Methods included from WorkItem
#add_item, #each, #get_item_list, #get_items, #get_parent, #get_root, #get_run, #label, #label=, #labelpath, #labels, #name=, #namepath, #names, #save, #save!, #size, #to_filename, #to_s
Methods included from Logging
#<=, #add_log, #log_message
Methods included from Status
#check_status, #compare_status, #set_status, #status, #status_label, #status_progress, #status_text
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, ::Digest::MD5.hexdigest(File.read(name))) if File.file?(name)
rescue => _e
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
|