Module: File_Checking
- Defined in:
- lib/file_checking.rb
Overview
A module to facilitate frequently occuring checks on file-system objects
Constant Summary collapse
- @@text_messages =
{ :exist? => "does not exist!", :exist => "does not exist!", :readable? => "is not readable!", :readable => "is not readable!", :executable? => "is not executable!", :executable => "is not executable!", :writable? => "is not writable!", :writable => "is not writable!", :directory? => "is not a directory!", :directory => "is not a directory!", :file? => "is not a file!", :file => "is not a file!", # different thing :type => "is not of the sought file-type (not '%s', but '%s')!", :mime => "does not have the sought mime-type (not '%s', but '%s')!", }
Class Method Summary collapse
-
.file_check(file, *messages) ⇒ Object
Checks if the file with the name from the first parameter has the properties, listed in the second.
- .magic_check(file, magic) ⇒ Object
- .mime_check(file, mime_type) ⇒ Object
Instance Method Summary collapse
-
#file_check(file, *messages) ⇒ Object
Checks if the file with the name from the first parameter has the properties, listed in the second.
Class Method Details
.file_check(file, *messages) ⇒ Object
Checks if the file with the name from the first parameter has the properties, listed in the second. The messages parameter is an array of one or all of :exist?, :readable?, :writable?, :directory? or their string-representations, respectively. Returns nil in case of success, otherwise an informative message, describing the first negative test-result.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/file_checking.rb', line 70 def self.file_check(file, *) msg = nil if(file && .respond_to?(:to_ary) && !.empty?) .each do |k| if( k != :mime && k != :type) if(! k.to_s.end_with?('?')) k = (k.to_s << '?').to_sym end @log.debug ('checking ' << k.to_s) if @log if(msg == nil && File.respond_to?(k) && ! File.send(k, file.to_s)) msg = "#{file} #{@@text_messages[k.to_sym]}" end end end end msg end |
.magic_check(file, magic) ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 |
# File 'lib/file_checking.rb', line 100 def self.magic_check(file, magic) @log.warn ('mimetypes- and file-magic checks are disabled !') =begin fm = FileMagic.fm fd = fm.fd(File.new(file) ).split(';')[0] if fd != magic.strip return file.dup << ' ' << (@@text_messages[:type] %[magic, fd]) end =end return nil end |
.mime_check(file, mime_type) ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/file_checking.rb', line 88 def self.mime_check(file, mime_type) @log.warn ('mimetypes- and file-magic checks are disabled !') =begin fm = FileMagic.mime fd = fm.fd(File.new(file) ).split(';')[0] if fd != mime_type.strip return file.dup << ' ' << (@@text_messages[:mime] %[mime_type, fd]) end =end return nil end |
Instance Method Details
#file_check(file, *messages) ⇒ Object
Checks if the file with the name from the first parameter has the properties, listed in the second. The messages parameter is an array of one or several of :exist?, :readable?, :writable?, :directory? or their string-representations, respectively. Returns nil in case of success, otherwise an informative message, describing the first negative test-result.
58 59 60 |
# File 'lib/file_checking.rb', line 58 def file_check(file, *) File_Checking.file_check(file, *) end |