2006-12-07
[MyGame] install_mygame.rb
今まで MyGame を手元で使うときは、アプリケーションを動作させるディレクトリに mygame.rb と mygame/boot.rb を置いていた。しかし、これではプロジェクトが増えてくると面倒だ。
そこで、 Ruby/SDL に添付されている install_rubysdl.rb の見よう見まねで MyGame のインストーラを作ってみた。
これがあれば MyGame 動作環境の構築は次のような手順でOKだ。
- ActiveScriptRuby をダウンロードしてインストール
- Ruby/SDL(Windows' binary) をダウンロードして install_rubysdl.rb をダブルクリック
- MyGame をダウンロードして install_mygame.rb をダブルクリック(まだ公開してないけど)
これだけだ。うん、だいぶ簡単になったぞ。
MyGame は次のような構成になっている。
mygame.rb mygame/boot.rb
mygame_boot.rb の方がいいのだろうか?
以下 Ruby/SDL の install_rubysdl.rb を参考にして作ったもの。 Ruby に自作のスクリプトをインストールしようなんて考えたことなかったからこれでいいのかちょっと不安。
require 'rbconfig' require 'fileutils' require 'optparse' dlldir = nil option = { :noop => false, :verbose => true } ARGV.options do |opt| opt.on('--dlldir DIR'){|dir| dlldir = dir} opt.on('--no-harm'){ option[:noop] = true } opt.on('--quiet'){ option[:verbose] = false } opt.parse! end dlldir ||= Config::CONFIG["bindir"] sitelibdir = Config::CONFIG["sitelibdir"] mygame_sitelibdir = File.join(sitelibdir, 'mygame') FileUtils.mkpath(sitelibdir, option) FileUtils.mkpath(mygame_sitelibdir, option) Dir.glob("lib/*.rb"){|fname| FileUtils.install(fname, sitelibdir, option)} Dir.glob("lib/mygame/*.rb"){|fname| FileUtils.install(fname, mygame_sitelibdir, option)}