なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2017/01/23)

2017/01/23分のコミットです。

CHANGELOGへの追加はありませんでした。


Make BigDecimal casting consistent on different platforms

activemodel/lib/active_model/type/decimal.rbの修正です。

BigDecimalインスタンスを生成する際に、デフォルトのprecisionの桁数を明示的に指定するよう修正しています。

+      BIGDECIMAL_PRECISION = 18

       def type
         :decimal
@@ -21,7 +22,7 @@ def cast_value(value)
             when ::Float
               convert_float_to_big_decimal(value)
             when ::Numeric, ::String
-              BigDecimal(value, precision.to_i)
+              BigDecimal(value, precision || BIGDECIMAL_PRECISION)

CRubyとJRubyとでデフォルトのprecisionの桁数が異なる為、環境による差異を無くす為に、明示的に値を指定するようにしたとの事です。


Merge two tests that needs to initialize Rails before accessing Rails

railties/test/application/configuration/custom_test.rbの修正です。

別々に定義されていたcustom configurationの2つのテストを1つにマージしています。2つめのテスト(custom configurationに存在しない値を指定した場合のテスト)はRaisのload処理が終わっている前提のテストになっていたのですが、Railsのload処理が定義されておらず、1つめのテスト(custom configurationに存在する値にアクセスした場合のテスト)で行った設定に依存している部分があった為、テストを一つにマージしたようです。


do not run git init when specify the pretend option

railties/lib/rails/generators/rails/app/app_generator.rbの修正です。

rails newコマンドにpretendオプションを指定した場合は、git initを実行しないよう修正しています。pretendオプションは何も処理を行わない為のオプションな為。