トップ 最新

ただのにっき

2008-11-12(水) [長年日記]

MSC3 30秒本戦

午後に出張があるときは外で昼食をとるので、iPodでMSC3の動画を見る余裕がある。というわけで、30秒本選(準決勝)は早めに投票完。おれルールで「ヤスタカ除外」を決めてあったので(笑)、選択肢の残りが少なくて、あまり悩まずに済んでよかった(ってよくねーよ。いくらなんでも偏りすぎだ)。

写真は、20秒予選までガチだと思っていたら、いきなりネタ化してびっくりしたのでおもわず撮ってしまった。すごい度胸だ。

そうそう、本選からはIMMWSでもvoteを呼びかけてみたのだけど、何人くらい参加するかなー。

eval怖い

tdiary-develの方に「キャッシュを無効にするとツッコミを受けるたびにTrackBackが非表示になる」という謎のバグ報告があり*1、追いかけていったら、データを読み込んでCommentインスタンスを生成したときにすでに非表示にされていた。なんで!?

そこでちょっとprintデバッグ(はい、まだprintデバッグです)してみたら、このコードで「false」が表示されて青くなった:

def initialize( name, mail, body, date = Time::now )
   @name, @mail, @body, @date = name, mail, body, date
   @show = true
   $stderr.puts( visible? ) # ←コレを挿入
end

def visible?; @show; end

直前でtrueにしてるじゃん! なんじゃこら!?

まぁ、TrackBackがらみだということでtb-show.rbを見れば一目瞭然、visible?メソッドを上書きしていて、TrackBackの時だけ無条件にfalseになるようになっていたからなんだけど。

いやー、自分の記憶にないところでevalされると超アセる。記憶にないだけで、実装したのは自分なのに。つか、こんな無茶な実装をしてるTrackBackはもうやめたいなー。というか、そろそろTrackBackそのものを捨てたいよなぁ。

Tags: ruby tDiary

*1 キャッシュ無効化ハックにまで対応する義務はないんだけど、まぁなんとなく。