てきとうなメモ

本の感想とか技術メモとか

インストールスクリプトのないツール

$ ls foo
foo.rb             foo
$ ls foo/foo
bar.rb
$ cat foo.rb
require 'foo/bar'
....

というようなツールを使いたい場合、foo/bar.rbをロードしなければならないのと、/usr/local/binあたりのPATHの通っている所にシンボリックリンクを置きたいというのを両立させたいので、

require 'pathname'
$LOAD_PATH.push Pathname.new(__FILE__).realpath.dirname.to_s
require 'foo/bar'

というようにしてみた。これで

$ mv foo /usr/local/foo
$ ln -s /usr/local/foo/foo.rb /usr/local/bin/foo.rb
$ foo.rb

のように実行することができる。他に方法あるのかな