なるようになるブログ

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

rails commit log流し読み(2014/09/23)

2014/09/23分のコミットです。

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

activerecord/CHANGELOG.md


Merge pull request #16985 from matthewd/no-isolated-for-prs

ci/travis.rbの修正です。

ENV['TRAVIS_PULL_REQUEST']の判定処理を追加しています。

 ENV['GEM'].split(',').each do |gem|
   [false, true].each do |isolated|
+    next if ENV['TRAVIS_PULL_REQUEST'] && ENV['TRAVIS_PULL_REQUEST'] != 'false' && isolated
     next if gem == 'railties' && isolated

ENV['TRAVIS_PULL_REQUEST']は、PRでは無い場合に'false'(PRの場合はPRの番号)が設定されるとの事です。

PRの場合に、PR範囲の機能のみテストを行うようの判定処理を追加した、という感じでしょうか。


Merge pull request #16851 from prathamesh-sonpatki/mention-validate-in-upgrade-guide

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

validateメソッドのoptionに:on, :if, :unless以外のキーを指定した場合に、エラーを出力するよう修正しています。

validate :validate_test, unles: true
# => ArgumentError (Unknown key: :unles. Valid keys are: :on, :if, :unless):

Move the array to a constant

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

先のコミットで対応したキーのリストをArrayで保持していたのを、Constantで保持するよう修正しています。


fix fixtures not loading if a belongs_to association is defined with a :foreign_key option that's a symbol

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

belongs_toアソシエーションにforeign_keyをシンボルで指定して使用していた場合に、fixturesが正しくロードされなかったバグを修正しています。


Better regression test for Fixtures with fk as a symbol

activerecord/test/cases/fixtures_test.rbactiverecord/test/models/parrot.rbの修正です。

foreign_keyにシンボルを使用した場合のテストケースのリファクタリングを行っています。


Merge pull request #16963 from collectiveidea/activejob-dj

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

DelayedJobAdapterクラスでJobWrapper#delayメソッドを使用していたのを削除しています。

-          JobWrapper.new.delay(queue: job.queue_name).perform(job.serialize)
+          Delayed::Job.enqueue(JobWrapper.new(job.serialize), queue: job.queue_name)

delayed_jobのメンテナの方がコミットされており、delayed_job的にはこの修正した方のやり方が正しいとの事です。


Clarify the documentation of the primary_key option for associations

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

primary_keyにはカラム名を指定する旨説明を修正しています。


add a truncate method to the connection

ActiveRecordのconnection adapterの修正です。

connection adapterにtruncateメソッドを追加しています。

ActiveRecord::Base.connection.truncate("comments")

メソッドの中では普通にSQLTRUNCATE TABLEしているだけなのですが、ちょっと便利ですね。なお、TRUNCATE 文をサポートしていないSQLite3では当然使用出来ません。


Update changelog with tenderlove's entry

activerecord/CHANGELOG.mdの修正です。

先のコミットのentryについて、名前を入れ忘れていたので、追加しています。


add message to assert in assert_enqueued_with

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

assert_enqueued_withメソッド内のassertメソッドの引数にエラーメッセージを追加しています。


ar/connection_pool: honor overriden rack.test in middleware activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rbの修正です。

rack.testの取得方法を修正しています。

-        testing = env.key?('rack.test')
+        testing = env['rack.test']

middlewareでrack.testの値をoverride出来るように、との事のようです。


Added test for exception message for validate method

activemodel/test/cases/validations_test.rbの修正です。

先にあったvalidateの対応について、エラーメッセージ出力内容の確認するテストを追加しています。


Added note about updating pull requests by force push

rails guideのContributing to Ruby on Railsの修正です。

Updating pull requestという項を追加しています。内容的には、git force pushについての説明が行われてます。過去のPR見ると、意外と質問されてる事が多いようです。


Fix loading fixtures in engine tests

railties/lib/rails/generators/rails/plugin/templates/test/test_helper.rbの修正です。

fixture_path=のチェックにmethod_defined?ではなくrespond_to?を使用するよう修正しています。

rails engineでfixturesのloadが上手くいかないバグがあったらしく、その為の対応です。


[CI SKIP] Improve force push note.

rails guideのContributing to Ruby on Railsの修正です。

先程追加されたUpdating pull requestの説明の改善をしています。