refeのgemを作成してみました。そのに

lib/refe/config.rbのロジックに無駄がありましたので、patchを差し替えます(昨日のものは、少し考え過ぎでした)。

diff -ruN refe-0.8.0.orig/lib/refe/config.rb refe-0.8.0/lib/refe/config.rb
--- refe-0.8.0.orig/lib/refe/config.rb	1970-01-01 09:00:00.000000000 +0900
+++ refe-0.8.0/lib/refe/config.rb	2005-10-20 13:15:43.000000000 +0900
@@ -0,0 +1,14 @@
+require 'refe/info'
+
+module ReFe
+  refedir = nil
+  Gem.path.each do |gempath|
+    dir = "#{gempath}/gems/refe-#{Version}/data/refe"
+    if FileTest.directory?(dir)
+      refedir = dir
+      break
+    end
+  end
+  refedir ||= '/usr/local/share/refe'
+  REFE_DATA_DIR = refedir
+end
diff -ruN refe-0.8.0.orig/misc/gem.sh refe-0.8.0/misc/gem.sh
--- refe-0.8.0.orig/misc/gem.sh	1970-01-01 09:00:00.000000000 +0900
+++ refe-0.8.0/misc/gem.sh	2005-10-20 13:11:23.000000000 +0900
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+version=0.8.0
+
+gem build refe.gemspec \
+    && sudo gem uninstall -x refe \
+    && sudo gem install -t refe-$version.gem
diff -ruN refe-0.8.0.orig/refe.gemspec refe-0.8.0/refe.gemspec
--- refe-0.8.0.orig/refe.gemspec	1970-01-01 09:00:00.000000000 +0900
+++ refe-0.8.0/refe.gemspec	2005-10-20 13:19:45.000000000 +0900
@@ -0,0 +1,25 @@
+# -*- ruby -*-
+
+Gem::Specification.new do |spec|
+  spec.name = 'refe'
+  spec.version = '0.8.0'
+  spec.summary = 'Yet another ruby reference manual browser.'
+  spec.authors = ['Minero Aoki', 'TANAKA Shin-ya']
+  spec.email = ['zstanaka@archer.livedoor.com']
+  spec.homepage = 'http://i.loveruby.net/ja/prog/refe.html'
+
+  spec.executable = 'refe'
+
+  files = Dir.glob('{bin,data,lib,misc,test}/**/*')
+  files.push 'COPYING'
+  files.push 'ChangeLog'
+  files.push 'NEWS'
+  files.push 'README.en'
+  files.push 'README.ja'
+  files.push 'TODO'
+  files.push 'test.rb'
+  files.delete('misc/dist.sh')
+  spec.files = files
+
+  spec.test_file = 'test.rb'
+end
diff -ruN refe-0.8.0.orig/test.rb refe-0.8.0/test.rb
--- refe-0.8.0.orig/test.rb	2003-10-17 22:24:32.000000000 +0900
+++ refe-0.8.0/test.rb	2005-10-20 13:11:23.000000000 +0900
@@ -15,7 +15,13 @@
   unless /Test::Unit/ === RUNIT::CUI::TestRunner.superclass.name
     RUNIT::CUI::TestRunner.quiet_mode = true
   end
-  RUNIT::CUI::TestRunner.new.run load_test_suite(ARGV)
+  if ARGV.include?('-t') or ARGV.include?('--test')
+    # running under gem.
+    RUNIT::CUI::TestRunner.new.run load_test_suite([])
+  else
+    # normal command line.
+    RUNIT::CUI::TestRunner.new.run load_test_suite(ARGV)
+  end
 end