| Path: | lib/zip/ziprequire.rb |
| Last Update: | Sun Aug 24 13:00:55 +0200 2008 |
With ziprequire you can load ruby modules from a zip file. This means ruby‘s module include path can include zip-files.
The following example creates a zip file with a single entry log/simplelog.rb that contains a single function simpleLog:
require 'zip/zipfilesystem'
Zip::ZipFile.open("my.zip", true) {
|zf|
zf.file.open("log/simplelog.rb", "w") {
|f|
f.puts "def simpleLog(v)"
f.puts ' Kernel.puts "INFO: #{v}"'
f.puts "end"
}
}
To use the ruby module stored in the zip archive simply require zip/ziprequire and include the my.zip zip file in the module search path. The following command shows one way to do this:
ruby -rzip/ziprequire -Imy.zip -e " require 'log/simplelog'; simpleLog 'Hello world' "