なるようになるブログ

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

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

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

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

actionpack/CHANGELOG.md

activejob/CHANGELOG.md


Fix inherit from deprecated ActionView::Template::Handlers::Erubis

actionview/lib/action_view/template/handlers/erb.rbactionview/lib/action_view/template/handlers/erb/deprecated_erubis.rbの修正です。

Erubisが使われた際にdeprecateメッセージを出すためにActiveSupport::Deprecation::DeprecatedConstantProxyクラスを使用してErubisを定義していたのですが、それだとActionView::Template::Handlers::Erubisを直接継承した場合にエラーになってしまう為、Erubisは普通にファイルに定義し、そのファイルのrequire時にdeprecateメッセージを表示するよう修正しています。


Use temporary connection pool for sqlite3_mem adapter

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

query cacheのテストで、establish_connectionする際に、元々保持していたconnectionとは別にtempraryのconnetion poolを作成し、そちらをclearするよう修正しています。そして、テスト終了後に元のconnectionを再度使用するようにしています。元のconnectionが失われてしまうと、in_memory databaseを使用している場合に最初に作成したDBに再接続出来ない為、のようです。


Add sqlite3_mem adapter to Travis CI

.travis.ymlの修正です。

sqlite3_mem adapter のテストをCIに追加しています。


Merge pull request #27767 from benoittgt/freeze_sql_type_with_get_oid_type

activerecord/lib/active_record/connection_adapters/postgresql_adapter.rbの修正です。

PostgreSQLAdapter#get_oid_typeメソッドのsql_type引数のデフォルト値をfreezeするよう修正しています。


Merge pull request #27758 from kenta-s/neglected-todo-in-render_test

actionview/test/template/render_test.rbの修正です。

yieldを呼び出しているpartialにblockを渡さない場合のテストのテスト名をより適切な名前に変更、及び、古いTODOコメントを削除しています。


Merge pull request #27850 from apauly/feature/active_job_test_helper

activejob/lib/active_job/queue_adapters/test_adapter.rbの修正です。

perform_enqueued_jobsメソッドにonlyオプションを指定した場合に、onlyオプションに指定した以外のjobがenqueueされないようになっていたのを、enqueueはされるよう修正しています。


Remove deprecated callbacks from ActionDispatch middlewares

Action Packの修正です。

deprecatedになっていたActionDispatch::Callbacksto_prepareto_cleanupメソッドを削除、及び、ActionDispatch::Reloaderto_prepareto_cleanupprepare!cleanup!メソッドを削除しています。


Chain scope constraints should respect own table alias

activerecord/lib/active_record/associations/association_scope.rbの修正です。

has_many through + scopeを使用した場合に、table aliasが使用されないバグがあったのを修正しています。


correctly set test adapter when configure the queue adapter on a per job (#26690)

activejob/lib/active_job/test_helper.rbの修正です。

job毎にqueue adapterを設定していた場合に、ActiveJob::TestHelperでqueue adapterのtest adapterへの置き換えが正しく行われないバグがあったのを修正しています。


Merge pull request #27795 from meagar/fix-missing-partial-iteration

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

partialをrenderした際に、テンプレート内に本来定義される<partial_name>_iteration変数が定義されないバグがあったのを修正しています。


remove unused variable

activesupport/test/file_update_checker_shared_tests.rbの修正です。

使用していない変数を削除しています。


call gem erubis before require

actionview/lib/action_view/template/handlers/erb/erubis.rbの修正です。

erubisをrequireする前に、gemメソッドで必要なgemのロード処理を行うよう修正しています。

+gem "erubis"
 require "erubis"

Change ActionView ERB Handler from Erubis to ErubiでERB Handlerで使用するgemがErubisからErubiになりました。しかし、まだERB HandlerにErubisは使用出来るようになっています。ただ、Rails本体のdependencyにはもうErubisは無い為、Erubis handlerを使用したい場合、ユーザが明示的にRakefileにErubis gemを指定する必要があります。

その為、requireの前にgemメソッドを呼び出して、Erubis gemがロード出来ない場合にその状態がわかるようにしています。