ruby-trunk-changes r49589 - r49599

今日は拡張ライブラリ coverage の機能追加と、標準添付ライブラリ securerandom の SecureRandom から組込みクラスの Random へ実装を一部移動するリファクタリングがありました。

tenderlove: r49589 2015-02-14 00:53:47 +0900

拡張ライブラリ coverage に Coverage.peek_result というメソッドを新設して途中で coverage 情報を取り出せるようにしています。 おお、なんか便利そう、だけどどう活用するのかよくわからないな…。 [ruby-core:67940] [Feature #10816]

svn: r49590 2015-02-14 00:54:04 +0900

version.h の日付更新。

nobu: r49591 2015-02-14 08:26:26 +0900

r49589 で coverage の未使用のローカル変数の警告除去。せっかくローカル変数に格納したのに使ってなかったので利用するようにしています。

nobu: r49593 2015-02-14 12:01:36 +0900

標準添付ライブラリ securerandom から環境や利用できるライブラリによって適当な乱数生成器を決める処理を組込みクラスの Random に取り込んで Random.raw_seed というメソッドにして、これを利用するようにしています。

nobu: r49594 2015-02-14 12:02:05 +0900

random.c で rand の引数エラー時の例外メッセージの構築を rb_raise() のフォーマット文字列を利用するようにして、PRIsVALUE で直接オブジェクトをメッセージに埋め込むようにしています。

nobu: r49595 2015-02-14 12:02:32 +0900

標準添付ライブラリ securerandom から hex, base64, uuid などの各種の表現で乱数を取り出すメソッド群は Random::Formatter というモジュールに切り出して SecureRandom にこれを extend するようにリファクタリングしています。

nobu: r49596 2015-02-14 12:20:04 +0900

標準添付ライブラリ securerandom でさらに SecureRandom.random_bytes も Random::Formatter に移動しています。また整数や実数で乱数を取得する Random::Formatter#random_number は 組込みクラスの Random で実装するように移動しています。

nobu: r49597 2015-02-14 13:11:26 +0900

r49596 で実装された Random.random_number で引数に負の数も受け付けるようにしています。元の SecureRandom.random_number が負の数だと 0 と同じで Float の乱数を返すようになっていたのでそれにそろえています。

nobu: r49599 2015-02-14 14:40:10 +0900

Random.random_number で SecureRandom の時の実装と同様に nil が渡されたら ArgumentError 例外を発生させるようにしています。 r49598 で許容するほうに倒しすぎたのでその修正でしょう。