require 'zlib'
def gzip_file(input_filename, output_filename, chunk_size=16*1024)
fail ArgumentError, 'input_filename is nil' unless input_filename
fail ArgumentError, 'output_filename is nil' unless output_filename
Zlib::GzipWriter.open(output_filename) do |gz|
File.open(input_filename) do |f|
chunk = f.read(chunk_size)
while chunk do
gz.write chunk
chunk = f.read(chunk_size)
end
end
gz.close
end
end
def gzip_file(input_filename, output_filename, chunk_size \\ 16*1024) when is_binary(input_filename) and is_binary(output_filename) do
unless input_filename, do: raise ArgumentError, message: "input_filename is nil"
unless output_filename, do: raise ArgumentError, message: "output_filename is nil"
File.stream(input_filename, [:read], chunk_size), fn(input_file) ->
File.open(output_filename, [:write, :compressed]), fn(output_file) ->
chunk = IO.read(input_file)
# TODO: Finish
# Opps, no while loop in Elixir
File.close(output_file)
end)
File.close(input_file)
end)
enddef gzip_file(filename) when is_binary(filename) do
{result, 0} = System.cmd("gzip", [filename])
result
end
--
You received this message because you are subscribed to the Google Groups "elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-ta...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-talk/0323bef9-5361-4718-80c8-001cc3f163af%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "elixir-lang-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elixir-lang-ta...@googlegroups.com.