ruby-trunk-changes r30926 - r30932

今日は主に Psych::JSONリファクタリングが行なわれています。

kosaki:r30926 2011-02-21 00:39:53 +0900

[Bug #4396] のための Windows 環境での system() のテストを修正/追加しています。Windows のシェル複雑なんですね。

svn:r30927 2011-02-21 00:39:55 +0900

version.h の日付更新。

tenderlove:r30928 2011-02-21 10:02:41 +0900

Psych::JSON::Stream が生成する YAML が文字列にシングルクオートを使っていたのでダブルクオートを使うようにしています。
Psych::JSON::Stream はこの名前なのに YAML を生成するんですね。

tenderlove:r30929 2011-02-21 10:06:34 +0900

Psych::JSON::Stream と Psych::Visitors::JSONTree で重複していた部分を Psych::JSON::RubyEvents というモジュールに切り出すリファクタリングをしています。

tenderlove:r30930 2011-02-21 10:49:41 +0900

psych で Psych::JSON の autoload に "psych/json" を設定していたのをやめて事前に require するようにしています。何かまずいことがあったのでしょうか。

tenderlove:r30931 2011-02-21 10:56:10 +0900

Psych::JSON の Stream や JSONTree を使った時に encode_with メソッドを利用して任意のオブジェクトのエンコードをカスタマイズした時にタグが出力されるのを抑制しています。
refute_??? を使うのはいいんでしたっけ。

tenderlove:r30932 2011-02-21 11:00:43 +0900

Psych::JSON::Stream::Emitter と Psych::JSON::TreeBuilder も共通部分を Psych::JSON::YAMLEvents モジュールとして切り出して include するようにしています。しかしこの時点で Psych のテストがいくつか失敗しているんですよね……。