OBATA Akio wrote:
On Tue, 18 Mar 2008 15:14:31 +0900, Johnny C. Lam <jlam%netbsd.org@localhost> wrote:Log Message: Allow for loading libraries installed as gems. Bump PKGREVISION.This mean all ruby script will have to "require rubygems"? Not only packages in pkgsrc but also own ruby script using modules in pkgsrc.
Ruby scripts that use extensions that are installed as gems need to do one of the following:
(1) Try loading "rubygems" at the start of the script, but ignoring a load failure:
require 'rubygems' rescue LoadError
require 'sqlite3'
...
(2) Do a fallback loading of an extension if it fails to load without
rubygems:
begin
require 'sqlite3'
rescue LoadError
require 'rubygems'
require 'sqlite3'
end
...
Doing it the second way is more efficient -- you only load rubygems if
you really need it. The first way is more convenient in terms of lines
of code, but it always load rubygems if it's on the system regardless of
whether it's needed or not.
Cheers,
-- Johnny C. Lam