なるようになるブログ

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

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

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

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

actionmailer/CHANGELOG.md


Merge pull request #29378 from kamipo/avoid_overwriting_id_attribute_methods

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

idではない独自のprimary keyを定義している場合に、値の更新処理が正しく行われないバグがあったのを修正しています。


Allow translate default option to accept an array similar to i18n.t. Fixes #29441

actionpack/lib/abstract_controller/translation.rbの修正です。

AbstractController::Translation#translateメソッドのdefault optionにArrayを渡した場合に正しく処理が行われないバグがあったのを修正しています。

# before
ApplicationController.new.translate '.foobar', default: ['Foo Bar', :barfoo]
# => ["Foo Bar", :barfoo]

# after

ApplicationController.new.translate '.foobar', default: ['Foo Bar', :barfoo]
# => "Foo Bar"

挙動としてはわかるのだが、何でそもそもArrayを渡したいのたがわからない…。


Merge pull request #29452 from kamipo/prevent_extra_sync_with_transaction_state

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

AttributeMethods::PrimaryKey#to_keyメソッドからsync_with_transaction_stateメソッドの呼び出しを削除しています。to_keyメソッドではidメソッドを呼び出しており、idメソッドの方でsync_with_transaction_stateの呼び出しを行っている為。


Merge pull request #29409 from eugeneius/skip_test_uuid_column_default

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

uuidに関するテストでsupports_pgcrypto_uuid?メソッドを呼び出す前にconnectionにsupports_pgcrypto_uuid?メソッドが定義されているかチェックするよう修正しています。

PostgreSQL以外のadapterでは上記メソッドが定義されておらず、NoMethodErrorが発生してしまうのを防ぐため。


Updated working with javascript readme to support the behavior of rails-ujs.

rails guideのWorking with JavaScript in Railsの修正です。

Rails-ujs event handlersの項を追加し、rails-ujsで実行されるeventの一覧を追加しています。


Remove deprecated option from docs [ci skip] (#29459)

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

削除されたassociationのforce_reloadオプションについての説明を削除しています。


Merge pull request #29457 from halogenandtoast/mm-configure_delivery_job

actionmailer/lib/action_mailer/base.rbactionmailer/lib/action_mailer/message_delivery.rbの修正です。

Action Mailerでmailの送信に使用するjobをclass毎に切り替えられるよう修正しています。

class MyMailer < ApplicationMailer
  self.delivery_job = MyCustomDeliveryJob
end

Merge pull request #29453 from kamipo/add_test_case_for_28274

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

transactionsの中でsave!を使用し、かつ、Rollbackが発生した場合に、idの値が元に戻る(新規レコードの場合nil)事を確認する為のテストを追加しています。


Fix indentation [ci skip]

actionmailer/CHANGELOG.mdの修正です。

Action Mailerでmailの送信に使用するjobをclass毎に切り替えられるよう修正した対応のエントリーのインデントを調整しています。