Rubyist Magazine の Zlib の紹介記事を読んだ。
http://jp.rubyist.net/magazine/?0018-BundledLibraries
簡単に zip/gzip を扱えるな。
以下のコードは ruby/jruby ともに動作する。
# See http://jp.rubyist.net/magazine/?0018-BundledLibraries
require 'zlib'
orig = 'foo.txt'
gziped = orig + '.gz'
# create gziped file
#-------------------
Zlib::GzipWriter.open(gziped, Zlib::BEST_COMPRESSION) do |gz|
gz.mtime = File.mtime(orig)
gz.orig_name = orig
gz.write File.open(orig, 'rb'){|f| f.read }
end
# gzcat
#------------------
Zlib::GzipReader.open(gziped) do |gz|
puts gz.read
end
#--- End of File ---
xfy で、zip 保存したり、zip された xml を開くようなプラグイン
http://youichi-kato.cocolog-nifty.com/blog/2006/11/xfy_m.html
を java でつくって公開したことがあるけど、jruby で書いたほうが極めて簡単にかけるな。
xfy の Open/Save コマンドへのフックを PRagger の confi.yaml 形式で書いて、そのなかに zip/unzip plagin を指定すると、save 時のダイアログに zip 圧縮をするか否かのチェックボックスが現れるなんていうようになると便利になるだろう。
同様の発想で、cvs アクセス、svn アクセス、webdav アクセス、XML-DB アクセス、gspace アクセスなプラグイン、PDF 化、暗号化、etc... のプラグインをつくればよいかもしれない。
最近のコメント