module File_Checking
A module to facilitate frequently occuring checks on file-system objects. You can certainly do without this, but maybe you find it useful.
Public Class Methods
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.
# File lib/file_checking.rb, line 65 def self.file_check(file, *messages) msg = nil if(file && messages.respond_to?(:to_ary) && !messages.empty?) messages.each do |k| 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 msg end
Public Instance Methods
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.
# File lib/file_checking.rb, line 53 def file_check(file, *messages) File_Checking.file_check(file, *messages) end