2008年 01月 07日

shipit.rb

よびわけにこまったので shipit.rb とよぼう……

  • svk その他への対応
    • Commit/Tag とかの実際の処理を分離する
    • Rake::ShipitTask::VC::{SVN,SVK,Git} とかかなぁ
  • ステップ間で共有される state
    • instance_variable_set でハッシュセットすればいいかなぁ

をやんないとだけど、ここにこんなふうに書いてる時点でやる気ないよなぁ (今ちょっと svk をつかっていないので、svk 使うようになったらすぐに実装する感)

というかさっきまで全くオリジナルの ShipIt のコードを読んでなかった (Shipit::Step::Twitter だけ先に読んで処理を想像してた) ことに気付いてあわてて読んだ (全部じゃないけど)……アイデアだけでふくらませて考えてた。やばい…… CPAN はオンラインで簡単にソースよめていいなぁ。rubyforge も直接見れるリンクがほしい。

ちなみに shipit.rb で initialize と prepare にわけたのは、initialize っていう名前が Ruby 的に特別な名前なので、あんまり準備をするっていうイメージがないからです。instance_variable_set するなら initialize とわけたのは正解かなぁ (new すると initialize が走ってしまうので instance_variable_set するタイミングがない)

http://coderepos.org/share/changeset/4139

state には対応した。instance_variable_set はちょっと黒い気がしたので (みえないうちにセットされてしまうので)、いまのうちに initialize の仕様を変えることにした。