«前の日記(2007-01-04(Thu)) 最新 次の日記(2007-01-09(Tue))» 編集
RSS feed
Webサイトとは「つい、うっかりの存在論」である

角谷HTML化計画

「むずかしく考えることはない」と、偉そうに葉巻を振りまわしながら、トレヴィラヌスはいった。「ガリラヤの太守がじつにみごとなサファイアを持っていることは、みんなが知っている。何者かがそれを盗むつもりで、間違ってここへ入ったんだ。ヤルモリンスキーが起きていたので、泥棒は殺さざるをえなかった。どうだね、これで?」
「そのとおりかもしれません。しかし、おもしろくはないですね」と、レンロットは答えた。
J.L.ボルヘス『死とコンパス』(『伝奇集』収録)

2007-01-05(Fri) [長年日記]

■1 yaml_waml:「to_yamlでUTF-8な日本語がbinaryになってしまう問題を回避するRailsプラグイン」

id:Rommyさんの「日本語をto_yamlするとエンコードされてしまう問題を安直な方法で解決する」に該当する状況と幾つか遭遇したので、ほぼそのままRailsプラグインにしてみた。助かりました。ありがとうございます。

このプラグインはRuby本体のYAMLが修正されるまで(いつ??)のツナギとして、ar_fixturesと併用できます。Railsは1.2RC2(リリース乙)で動作確認しました。edgeでは試してません。インストールは、Railsプラグインなので例によって、以下のSVNリポジトリを対象にplugin/installなりvendor/pluginsにsvn:externalで。

リポジトリ

(2008/01/22追記:URLを変更しました)

googlecodeを初めて使ってみた。ちょっと重いが手軽なのは良い。URLが甚だわかりづらくてすみません。プロジェクト名やtrunkディレクトリがダブってる(しかもプロジェクト名は綴りが違う)。これはプロジェクト名にアンダースコアが使えないことと、私がsc(svnauto)を深く理解しないで使っているのが原因。scで1プロジェクト1リポジトリな構成(ルートにtrunk,tags,branchesがある)ができるといいんだけどなー。

to_yaml_spec.rb

期待する振る舞いはRommyさんの記述ほぼそのまんま。

context "Japanese text" do
  specify "String should output string" do
    "あ".to_yaml.should_eql <<-EXPECTED
--- "あ"
    EXPECTED
  end
  
  specify "Array-ed string should output string" do
    ['あ','い'].to_yaml.should_eql <<-EXPECTED
--- 
- "あ"
- "い"
    EXPECTED
  end
  
  specify "Hash-ed string should output string" do
    {'日本語' => ['出力']}.to_yaml.should_eql <<-EXPECTED
--- 
"日本語": 
- "出力"
    EXPECTED
  end
  
  specify "mixed Array should output string" do
    actual = [["あ", "い"], {"う" => ["え"]}, Struct.new(:name).new("お")]
    actual.to_yaml.should_eql <<-EXPECTED
--- 
- - "あ"
  - "い"
- "う": 
  - "え"
- !ruby/struct: 
  name: "お"
    EXPECTED
  end
end

どうぞご利用ください。


«前の日記(2007-01-04(Thu)) 最新 次の日記(2007-01-09(Tue))» 編集
RSS feed