class FileSystem

Public Class Methods

dir_info(dir, list_files = "true") click to toggle source
# File lib/apis/filesystem_api.rb, line 31
def self.dir_info(dir, list_files = "true")
  ret = {}
  ret[:name] = File.basename(dir.path)
  ret[:path] = dir.path
  ret[:absolute_path] = File.absolute_path(dir.path)
  ret[:is_dir] = true
  if list_files
    files = []
    dir.each do |name|
      begin
        f = File.new("#{dir.path}/#{name}")
        files << file_info(f)
      rescue
        #puts "error"
        #puts e
      end
    end
    ret[:contents] = files
  end
  ret
end
file_info(file) click to toggle source
# File lib/apis/filesystem_api.rb, line 53
def self.file_info(file)
  if Dir.exist?(file.path)
    d = Dir.new(file.path)
    return dir_info(d, false)
  end
  ret = {}
  ret[:name] = File.basename(file.path)
  ret[:path] = file.path
  ret[:absolute_path] = File.absolute_path(file.path)
  ret[:is_dir] = false
  ret[:bytes] = file.size
  ret[:client_mtime] = file.mtime
  ret[:modified] = file.ctime
  ret[:mime_type] = Rack::Mime.mime_type("." + file.path.split('.').last)
  #ret[:binary] = File.binary?(ret[:absolute_path])
  ret
end