Damjan Rems wrote:
> 1. Linux (CUPS) printers
> 2. Windows printers

You could look into the cross-platform GUI toolkits, for example wxRuby, 
FxRuby, QT or GTK. Some of these should should provide abstractions for 
writing to a printer. wxRuby for example provides a variety of classes 
which abstract the native printing frameworks on Mac, Linux and Windows:

http://wxruby.rubyforge.org/doc/htmleasyprinting.html (very simple to use)
http://wxruby.rubyforge.org/doc/#printing (full control)

a