Zip/Ruby 0.2.6

http://rubyforge.org/projects/zipruby/

Zip/Ruby 0.2.6をリリースしました。
変更点は次のとおり。

replace_buffer等のメソッドで大文字/小文字を区別するようにした

Zip::Archive.open('foo.zip') do |ar|
  replace_buffer('hoge', <<-EOS) # エントリ名がHOGEだとエラー
    fuga
  EOS

  # 大文字/小文字を区別しない場合
  replace_buffer('hoge', <<-EOS, Zip::FL_NOCASE)
    fuga
  EOS
end

commitメソッドを追加

リクエストがあったので。

Zip::Archive.open('foo.zip') do |ar|
  ar.add_buffer('foo.txt', 'bar')

  # エラーになる
  #ar.fopen('foo.txt') do |f|
  #  puts f.name
  #end

  ar.commit

  # エラーにならない
  ar.fopen('foo.txt') do |f|
    puts f.name
  end
end

encrypt/decryptのインスタンスメソッドを追加

commitメソッド追加のついでに。
encrypt/decryptするとcommitされるのでrevertが効かなくなります。

Zip::Archive.open('foo.zip') do |ar|
  ar.encrypt('passphrase')
  ar.revert # 変更は元に戻らない
end

open?メソッドを追加

Zip::Archive.open('foo.zip') do |ar|
  puts ar.open? #=> true
end