Module: JavaClass::ZipUtils

Defined in:
lib/javaclass/ziputils.rb

Overview

Zipユーティリティ

Class Method Summary collapse

Class Method Details

.each_class(zip_file, &block) ⇒ Object

Zipエントリ内のクラス一覧を列挙して解析する。

*zip_file

zipファイル

*&block

クラスごとに呼び出されるブロック。引数でJavaClass::Classが渡される。



22
23
24
25
26
27
28
29
30
31
# File 'lib/javaclass/ziputils.rb', line 22

def each_class ( zip_file, &block ) 
  Zip::ZipFile.foreach(zip_file) {|entry|
    next unless entry.file?
    next unless entry.name =~ /.*\.class$/
    entry.get_input_stream {|io|
      jc = JavaClass.from io
      block.call( jc ) if block_given?
    }
  }
end