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