なるようになるブログ

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

rails commit log流し読み(2017/06/06)

2017/06/06分のコミットです。

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


Remove deprecated passing of string to :if/:unless (#29357)

rails guideのActive Record Validationsの修正です。

Combining Validation Conditionsの項に、deprecatedになっていたifオプションにStringを渡すexampleがあったのを修正しています。


[ci skip] UNIQUE constraint affects not only INSERT but also UPDATE

activerecord/lib/active_record/errors.rbのdocの修正です。

RecordNotUniqueのdocにINSERT処理でユニーク制約に違反した場合にraiseされる旨説明がされていたのですが、実際はUPDATEでも発生する可能性はある為、その旨説明を修正しています。


Fix indentation + Add backticks [ci skip]

activesupport/CHANGELOG.mdの修正です。

インデントの修正及びメソッド名をバッククォートで囲むよう修正しています。


Remove html tag making markdown misrender [ci skip]

CONTRIBUTING.mdの修正です。

不要なbrタグがあったのを削除しています。


Let’s test nokogiri 1.8 against edge Rails, and vice versa

Gemfile.lockの修正です。

nokogiriのバージョンを1.8に更新しています。


Fix test_pluck_without_column_names when using Oracle

activerecord/test/cases/calculations_test.rbの修正です。

pluckカラム名を指定しない場合のテストがOracle adapterで失敗していたのを修正しています。

-    assert_equal [[1, "Firm", 1, nil, "37signals", nil, 1, nil, ""]],
-      Company.order(:id).limit(1).pluck
+    if current_adapter?(:OracleAdapter)
+      assert_equal [[1, "Firm", 1, nil, "37signals", nil, 1, nil, nil]], Company.order(:id).limit(1).pluck
+    else
+      assert_equal [[1, "Firm", 1, nil, "37signals", nil, 1, nil, ""]], Company.order(:id).limit(1).pluck
+    end

上記テストはデフォルトに空文字を指定したschemaを使用しているのですが、Oracleは空文字とNULを区別しない為、空文字ではなくNULLを返ってくる為上記のような分岐処理を追加し対応したとの事です。


PostgreSQL 10 converts unknown OID 705 to text 25

activerecord/test/cases/adapters/postgresql/postgresql_adapter_test.rbの修正です。

PostgreSQLで認識できないtypeが指定された場合のテストで、存在しない要素をSELECTに指定していたのを、pg_catalog.pg_class'::regclassを使用するよう修正しています。

-            @connection.select_all "SELECT NULL::anyelement"
+            @connection.select_all "select 'pg_catalog.pg_class'::regclass"

PostgreSQL 10までは上記テストが通っていたのですが、PostgreSQL 10で認識できないOIDの場合にftype 25(typename: text)を返すようになってしまった為、元のテストでは通らなくなってしまった為pg_classを使用するよう修正したようです。

参考:Re: ‘text’ instead of ‘unknown’ in Postgres 10


Merge pull request #29362 from kamipo/remove_redundant_assert_nothing_raised

Active Recordのテストの修正です。

本来テストを行いたい箇所とは別な箇所でassert_nothing_raisedを使用していたのを削除しています。