wakatonoの戯れメモ

はてなダイアリーから引っ越してきました。

qwik QuickHack 2

バグ発見。
すでにetoさんには改修案も含めて報告済みですが、同様の事象で悩む人がいたら、こういうこともありえますということで。

qwik-0.5.0のqwik-0.5.0/lib/qwik/site.rbにおいて、ML名を作成するメソッドmlを定義してたりします(site.rbの85行目あたりから)が、これ、このままだと

  • サブドメインつきのMLを作った際にMLのアドレスが正しく作成されない


という問題があったりします。


def ml
return "info@"+@sitename if external_site?
return @sitename+"@"+@hostname
end
例えば、

という状態であるとして、QuickMLが認識するML名はそれぞれ

  • userml
  • talk@wikiwiki


というようになります。
ところが、メソッドmlがこういうつくりだと、このメソッドを使って作ったメールアドレスは


というように作られてしまいます。
根本対処はよくわからんですが、さしあたりmlメソッドを以下のようにして対処。
具体的には、ML名に "@" が含まれる場合とそうでない場合で処理を分けてます。


def ml()
return "info@"+@sitename if external_site?
return @sitename+"."+@hostname if /^([0-9a-zA-Z-]+)@([0-9a-zA-Z_.-]+)?$/ =
~ @sitename
return @sitename+"@"+@hostname
end