I'm pleased to announce the birth of Tar2RubyScript.

Tar2RubyScript generates a base64 encoded string from an
existing tar archive and concatenates that string as comments
with another Ruby script. The result is <b>just one file, a
pure Ruby script, containing multiple files, stored as
comments</b>.

When the generated script (call it 'The Application') is
executed, it splits up into two parts (the script and the
encoded archive), decodes the base64 encoded string to a
temporary tar archive, unpacks the archive to a temporary
directory, jumps to that directory, eventually jumps to an
existing subdirectory, and finally executes init.rb . Et voila,
your application is up and running.

Because The Application is pure Ruby and no other programs or
libraries are needed (not even tar!), it's easy to distribute
The Application to friends. They don't have to install or
unpack anything but Ruby.

Tar2RubyScript is meant for distributing applications written
in Ruby, although it can be used for distributing applications
written in other languages, after small modifications to
Tar2RubyScript.

More information and download on
http://www.erikveen.dds.nl/tar2rubyscript/ .

gegroet,
Erik V.