トップ «前の日記(2008/11/14 (金) ) 最新 次の日記(2008/11/16 (日) )» 編集 RSS feed

HsbtDiary


2008/11/15 (土) [長年日記]

[tDiary][ruby1.9][ruby]tDiary trunk が ruby1.9 で動くか試してみた

札幌Ruby会議01で話題にした tDiary の ruby1.9 対応に手をつけたみた。とりあえず、まちゅさんが作成した tdiary-2.2.0.patch を trunk にぺちぺちマージしながら ruby1.9 での問題点把握。一通りパッチ当てが完了して、いざ日記を表示しようと思ったら新たなエラー

tdiary_style.rb:25: invalid multibyte char
tdiary_style.rb:25: syntax error, unexpected $end, expecting keyword_then or ';' or '\n'
				elsif /^[  <]/u !~ lines[0]
				           ^ (SyntaxError)

ruby1.9 --encording=UTF-8 を指定しているにも関わらず、何か tdiary_style.rb で怒られているので、全角空白を削除してスルー。これってマジックコメントとか入れれば解決するんだろうか。よくわからん。

後は body.size を body.bytesize に置き換えたり、細かい部分をいじるだけで表示と編集までできるようになった。ruby1.8への後方互換性も維持。とりあえず昨日までにできたパッチ → tdiary-2.3.1.patch

見た目は動いているみたいなんだけど、 ruby1.9 な環境だと day モードで表示する時やすでに日記が存在する日の編集画面を出す時に以下のエラーが表示されるのを見つけた。

ArgumentError
append incompatible encoding strings: ASCII-8BIT and UTF-8

incompatible encoding とか言われても、何が incompatible なのかさっぱりわからんなあ…。こいつはアプリケーション側で全て吸収すんのはかなりきつそうだ。

昨日やってて感じたこと

  • --encoding や force_encording を多用するくらいなら、先頭にマジックコメントを明示した方がいいんじゃないか
  • defout は ruby1.8 ではすでに obsolete なので今すぐにでも変えてよさげ
  • core だけでもかなり非互換というか挙動を追いかけられない状態なので、プラグインの方はもっとカオスになりそう
    • RSpec や testable_tdiary を先に組み込んでテストできるようにしておいた方がいいかも

とりあえず core に関しては想像以上に後方互換性は維持できそうなので操作が一通りできるようになったら trunk にぶちこんじゃってもいいかもね。まあ、ぼちぼち。

[Life]今日の(ry

最近は物欲も特にないので家でだらだらとゲーム。何かアイマスの動画を彼女に見せたら「やってみたいかも!」とか言い出したり何だり。箱は標準で無線LANアダプタがついてないのがいまいちなんだよなー。別売りのアダプタも2008年の年末にもなって8500円とか言う始末だし。

そんなこんなで本日のメニューは

  • チキン南蛮
  • きんぴらゴボウ
  • シチュー

の3品。チキン南蛮はピクルス入りのタルタルソースをかけた食べたけど大変おいしゅうございました。


クックパッドのレシピ

一番人気!チキン南蛮! by ダナエ姫 [クックパッド] 簡単おいしいみんなのレシピが40万品

本日のツッコミ(全2件) [ツッコミを入れる]
# NT (2008/11/15 (土) 20:21)

「tDiary trunk が ruby1.9 で動くか試してみた」じゃなかろうかと思ったり。

# しばた (2008/11/16 (日) 00:15)

確かにそんな気もするのでこっそり直しておきました。