This is a question for those of you who use Ruby to develop GUI-based
applications, using wxWidgets, or Qt, or GTK, etc. and the appropriate
Ruby bindings.

My question is, how do you actually package and distribute your
application to end users, and what do you distribute vs. require the
user to already install? For example, do you just distribute your .rb
files, and then tell the user:
"To run this app, you have to have Ruby installed on your machine,
PLUS wxWidgets, PLUS wxRuby."?

Or is there a way to package and distribute the wxWidgets (or Qt or
GTK or Fox) library and the Ruby bindings along with your app's Ruby
sources so that your only end user system requirement is Ruby? And if
you do redistribute the GUI library and the Ruby bindings, do you have
to install them into the System somehow, or modify paths and/or
environment variables to make sure they're "installed" properly? Or
can you have everything in a single folder along side your app's
sources, so everything is nicely self-contained without the user
needing to modify their system?

So far the only method of creating GUI apps with Ruby that I've played
around with at all is JRuby, because as I understand it I can make it
so that the only end user requirement is that they have Java
installed, by distributing jruby-complete.jar along with my app's .rb
source files, plus maybe a .bat or shell script file to launch the
app. And on the Mac you could probably package that all up as a .app
bundle, so the user can just double click it and go, without having to
install anything else (since Macs come with Java installed).