なるようになるブログ

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

rails commit log流し読み(2018/04/07)

2018/04/07分のコミットです。

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

actionview/CHANGELOG.md


Merge pull request #32472 from Edouard-chin/ec-activesupport-teardown

activesupport/lib/active_support/testing/setup_and_teardown.rbの修正です。

after_teardownメソッド内のteardown callbackを呼ぶ際に、Exceptionをキャッチするようにして、Exceptionが発生してもteardownの呼び出しが引き続き行われるよう修正しています。

元々はExceptionが発生した場合、そこでteardownのcallbackは終了していたのですが、それだとRails内で実行されるteardown(e.g. ActiveRecord::TestFixturesのrollback処理)も実行されず、データがおかしな状態になってしまう可能性があった為、Exceptionが発生してもteardownが実行されるようにしています。


Merge pull request #32355 from kamipo/delegate_to_klass_in_a_scope

Active Recordの修正です。

The receiver in a scope should be a relationでnamed scopeのreceiverがklassからrelationに変更されました。

この影響で、Rails 5.2ではklassのprivate / protectedなクラスメソッドにnamed scopeからアクセス出来なくなりました。これ自体は意図的な変更なのですが、breaking changeだった為、5.2ではメソッドを呼べるよう戻し、かわりにdeprecationメッセージを出力するよう修正しています。


[ci skip] Add securing rails app guide link to credential section

rails guideのRuby on Rails 5.2 Release Notesの修正です。

Credentialsの項に、credentialsについて詳細に説明しているページ(http://edgeguides.rubyonrails.org/security.html#custom-credentials)へのリンクを追加しています。


Add Brewfile to make easier to install all dependencies we need to run tests

プロジェクトのルートにBrewfileを追加しています。ファイルには、Railsのテストを実行する為に必要なパッケージが記載されています。


Protect all active storage controllers agains CSRF

Active Storageの修正です。

Active Storageのcontroller全てで使用する親クラス(ActiveStorage::BaseController)を作成し、デフォルトでprotect_from_forgery with: :exceptionを指定するよう修正しています。


Upgrade capybara to 3.0.1 to make sure our tests are passing

Gemfile.lockの修正です。

Capybara gemのバージョンを3.0.1に更新しています。


Partially revert 0bfdd1d

ServerTestの後処理でCapybara.serverで保持していた値をCapybara.server=にセットし直していたのを、元の値ではなく:defaultをセットするよう修正した、Fix broken ServerTest with Capybara 3.0.0をrevertしています。

Capybara 3.0.1でCapybara.server=にProcを指定出来るようになった為。メーリングリストで確認したところ、これはバグだったそうです。


Remove RecordTagHelper

ActionView::Helpers::RecordTagHelper moduleを削除しています。

RecordTagHelper moduleに定義されていたメソッドはRails 5.0でrecord_tag_helper gemに切り出されており、RecordTagHelper moduleはそれらの切りだされたメソッドを呼び出した際に、record_tag_helper gemを使ってね、というメッセージを表示する為だけに存在していました。

で、流石にもうそのメッセージも不要だろうという事で、module毎削除しています。


Merge pull request #32350 from rails/use-current-model-for-as-url-host

Active Storageの修正です。

Service::DiskService#urlメソッドが返す値がdisk serviceのpathだったのを、host情報を含むurlを返すよう修正しています。

hostはrequest.base_urlの値が指定されるようになっています(ActiveSupport::CurrentAttributeを使用してcontrollerのbefore_actionで値を設定している)。


Fix actionview/CHANGELOG.md

actionview/CHANGELOG.mdの修正です。

RecordTagHelper -> ActionView::Helpers::RecordTagHelperに修正、module名をクォートするよう修正、等を行っています。


Update URLs in RELEASING_RAILS.md [ci skip]

RELEASING_RAILS.mdの修正です。

travisのURLがhttpになっていたのをhttpsに修正、及び、Agile Web Development with Railsへのリンクが古いバージョンのままになっていたのを修正sています。