なるようになるブログ

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

rails commit log流し読み(2015/11/13)

2015/11/13分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md

actionview/CHANGELOG.md


Merge pull request #21601 from yui-knk/fix/ar_tables_without_view2

Active Recordの修正です。

SQLite3、MySQL adaptersの#tablesメソッド#tables_exists?メソッド、及び#tablesメソッドへの引数の指定がdeprecateになりました。

元々、adapter毎に#tables#tables_exists?メソッドの挙動が異なる(PostgreSQLのadapterは、tableのみ返却・チェックを行うが、それ以外のadapterではviewも返却・チェックを行う)、 というバグがあり、今後は、全てのadapterで#tablesメソッドはtableのみを返し、#table_exists?ではtableのみチェックを行うよう対応を行う予定で、 その対応の為に、現在の#tables#table_exists?の挙動をdeprecateにしています。

今後、viewを含むtableが必要な場合は #data_sourcesを、 viewを含むtableのチェックが必要な場合は、#data_source_exists?メソッドをそれぞれ使用する必要があります。


Fix typo [ci skip]

actionpack/test/dispatch/debug_exceptions_test.rbのdocの修正です。

テスト内のdocで、thatが重複してしまっていたので、片方削除しています。


Merge pull request #22259 from daisuko/remove_compiled_root_from_static_rb

actionpack/lib/action_dispatch/middleware/static.rbの修正です。

ActionDispatch::FileHandlerクラスから、使用していない@compiled_root変数を削除しています。


Ignore Gemfile.lock in the release task

tasks/release.rbの修正です。

rails自体のリリース用rake taskで、Gemfile.lockの変更は無視しるよう修正しています。


Don't match specific line numbers in reporter tests.

railties/test/test_unit/reporter_test.rbの修正です。

test reporterのテストで、テスト再実行用のコマンドを表示する際、行数を正確に指定していたのを、正規表現でチェックするよう修正しています。

-    assert_match %r{^bin/rails test .*test/test_unit/reporter_test.rb:6$}, @output.string
+    assert_match %r{^bin/rails test .*test/test_unit/reporter_test.rb:\d+$}, @output.string

ファイルのパスが正しく表示されるのが重要で、行数自体はそんなに重要ではない為、との事。


Prefer Minitest's location for test failures.

railties/lib/rails/test_unit/reporter.rbの修正です。

test reporterので、テスト再実行用のコマンドを表示する際、テストが失敗したメソッドの行数ではなく、実際にassertionが失敗した行数を表示するよう修正しています。


Respect value of :object if :object is false when rendering

actionview/lib/action_view/renderer/partial_renderer.rbの修正です。

renderメソッドで部分テンプレートをrenderする際、object引数にfalseを指定した場合に、falsenilと判定されてしまっていたのを、正しくfalseと判定されるよう修正しています。

issueより。

<%= value %>
<%= "(#{value.class.name})" %>

上記のようなpartial templateがあった場合に、

<%= render partial: 'value', object: 'foo' %>
<%= render partial: 'value', object: 1337 %>
<%= render partial: 'value', object: true %>
<%= render partial: 'value', object: false %>

上記呼び出しを行った際の結果が、下記のようになります。

# before
foo (String)
1337 (Fixnum)
true (TrueClass)
(NilClass)

# after
foo (String)
1337 (Fixnum)
true (TrueClass)
false (FalseClass)

[ci skip] Fix CHANGELOG.md format from list to italic.

actionview/CHANGELOG.mdの修正です。

CHANGELOGの名前の記載が、余計なスペースがあった為にリスト表示になってしまっていたのを修正しています。