class Sysadmin::FileExtension::File

Public Class Methods

append_line(params) click to toggle source
# File lib/sysadmin/file_ext.rb, line 28
def File.append_line(params)
  if File.exist?(params[:file])
    f = open(params[:file], 'a')
  else
    f = open(params[:file], 'w')
  end
  f << params[:str]
  f << "\n"
  f.close
end
new_line(params) click to toggle source
# File lib/sysadmin/file_ext.rb, line 39
def File.new_line(params)
  f = open(params[:file], 'w')
  f << params[:str]
  f << "\n"
  f.close
end
remove_line(params) click to toggle source
# File lib/sysadmin/file_ext.rb, line 59
def File.remove_line(params)
  out = ""
  IO.foreach(params[:file]) { |line|
    out << line unless line.include?(params[:str])
  }
  open(params[:file], "w") { |f|
    f.write out
  }
end
replace_line(params) click to toggle source
# File lib/sysadmin/file_ext.rb, line 46
def File.replace_line(params)
  open(params[:file], "r+") { |f|
    f.rewind
    body = f.read
    body = body.gsub(params[:src]) { |tmp|
      params[:dst]
    }
    f.rewind
    f.puts body
    f.truncate(f.tell)
  }
end
zread(file) click to toggle source
# File lib/sysadmin/file_ext.rb, line 14
def File.zread(file)
  Object.module_eval do
    open(file) {|f|
      magic = f.read(2)
      f.rewind
      if magic == Zlib::GZIP_MAGIC
        Zlib::GzipReader.wrap(f) {|gz|gz.read}
      else
        f.read
      end
    }
  end
end