なるようになるブログ

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

rails commit log流し読み(2016/02/25)

2016/02/25分のコミットです。

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

activerecord/CHANGELOG.md

actionpack/CHANGELOG.md


[ci skip] Move collection caching changelog entry.

actionview/CHANGELOG.mdの修正です。

collection cachingの対応についのてentryが、Rails 5.0.0.beta2の下にあったのをRails 5.0.0.beta2の上に移動しています。対応が入ったのは。 beta2リリース後の為。


Prep release for Rails 5 beta3

コンポーネントの修正です。

バージョンをbeta2からbeta3に更新しています。rcの前にbeta3がリリースされたんですねえ。


Enable tmp_restart plugin for puma

railties/lib/rails/generators/rails/app/templates/config/puma.rbの修正です。

development環境で、bin/rails restartでpumaをrestart出来るよう、デフォルトのpumaのconfigにplugin :tmp_restartを追加しています。


Update 5.0 release notes

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

Action Mailerのviewでcacheが使用出来るようになった対応、及びconfigにconfig.action_mailer.perform_cachingを追加した対応(どちらもPRはCache mailer view by st0012 · Pull Request #22825 · rails/rails)について、Release Notesに追加しています。


Preparing for 5.0.0.beta3 release

コンポーネントCHANGELOGの修正です。

CHANGELOGの先頭に、Rails 5.0.0.beta3 (February 24, 2016)セクションを追加しています。


Add ActionMailer configuration options

rails guideのConfiguring Rails Applicationsの修正です。

config.action_mailer.perform_cachingについての説明を追加しています。


Add caching guide in ActionMailer basics

rails guideのAction Mailer Basicsの修正です。

Caching mailer viewの項を追加しています。名前の通りで、mailer viewでのcacheのやり方についての説明が記載されています。


Do not define methods in the included block

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

ActiveJob::TestHelper moduleでメソッドを定義するのに、不要なincludedがあったのを削除しています。


Fix ActionView's cache section reference

rails guideのAction View Overviewの修正です。

Cache mailer view by st0012 · Pull Request #22825 · rails/railsCaching::FragmentsActionController::Caching::FragmentsからActionDispatch::Caching::Fragmentsに移動したので、その内容をdocに反映しています。

が、ActionDispatch::Caching::Fragmentsではなく、AbstractController::Caching::Fragmentsが正しく、後ほど再度修正されています。


Add Ruby formatting to CHANGELOG entry

actioncable/CHANGELOG.mdの修正です。

entry内のRailsメソッド名にエスケープ("`")を追加しています。


Fix wording and wrong reference

guides/source/5_0_release_notes.mdguides/source/action_view_overview.mdの修正です。

Action ViewActionViewに誤っていたのを修正、及びAbstractController::Caching::FragmentsActionDispatch::Caching::Fragmentsと誤って記載していたのを合わせて修正しています。


Don't put config.action_mailer.perform_caching entry twice in development.rb

railties/lib/rails/generators/rails/app/templates/config/environments/development.rb.ttの修正です。

config.action_mailer.perform_cachingが同じ内容で2回記載されていたので、一度だけ記載するよう修正しています。


changes caching guide to add note on weak etags

rails guideのCaching with Rails: An Overviewの修正です。

weak ETagsについて説明しているA note on weak ETagsセクションを追加しています。


Updated file documentation [ci skip]

rails guideのCaching with Rails: An Overviewの修正です。

先ほど追加されたA note on weak ETagsセクションのグラマーの修正を行っています。


remove useless method

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

使用していないempty?メソッドを削除しています。


Ensure suppressor runs before validations

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

Active Recordのsuppress処理をvalidationの前に実行するよう修正しています。

元々はrecordのsave / update時のみsuppressを行っており、validation処理でエラーになった際にエラーが発生していたのですが、保存しないrecordなので、validationでエラーを起こす必要は無いだろう、という事で修正したようです。


Merge pull request #23866 from abhishekjain16/document

actionpack/lib/action_dispatch/journey/route.rbactionpack/lib/action_dispatch/routing/inspector.rbの修正です。

routes表示用のコマンドがrake routesになっていたのを、rails routesに修正しています。


[ci skip] Need to mention debug_exception_response_format in the api_app documentation.

rails guideのUsing Rails for API-only Applicationsの修正です。

config.debug_exception_response_formatオプションについての詳細な説明を追加しています。


Merge pull request #23862 from prathamesh-sonpatki/test-for-strong-etag

actionpack/test/dispatch/response_test.rbn修正です。

responseのheaderに強いEtagを直接設定した場合のテストを追加しています。


Enable Action Cable routes by default

Action Cable / railtiesの修正です。

デフォルトでAction Cable用のroutesを有効にするよう修正しています。

デフォルトのpathは/cableになっており、変更したい場合はconfig.action_cable.mount_pathに値を設定すれば変更出来るようになっています。また、無効にしたい場合は、nilを設定すればOKです。

また、そもそもAction Cable のserverを別serverにしたい場合は、config.action_cable.urlにURLを指定すればOKとなっています。


Only open Action Cable connection if data is being sent

actioncable/app/assets/javascripts/action_cable/connection.coffeerailties/lib/rails/generators/rails/app/templates/app/assets/javascripts/cable.coffeeの修正です。

Action Cableのclientサイドで、送信出来るデータがあるときのみconnectionをオープンするよう修正しています


Fix title of README according to Markdown conventions

各READMEの修正です。

タイトル部分に##(h2)を使用している箇所があったのを、#(h1)を使用するよう修正しています。


Only hijack Rack socket when first needed

Action Cableの修正です。

ActionCable::Connection::Streamクラスの初期化処理で行っていたRack socketのhijack処理を、必要になったとき(driverを起動するとき)に処理を行うよう修正しています。

初期化時に処理を行ってしまうと、以降その値を引き継いてしまい、最初に正常なアクセスがありその後不正なアクセスがあった場合、正常なアクセスの情報のまま不正アクセスのチェック処理をしてしまう、という問題があった為、のようです。多分。


Lock down new ImplicitRender behavior for 5.0 RC https://github.com/rails/rails/commit/73b1efc58f4e04b4af7ed93685352ebe9108cd7e

Action Packの修正です。

デフォルトのrenderingの挙動を修正しています。

API controllerの場合、テンプレートが見つからなかった場合、"204 No Content"を返します。

それ以外の場合、以下の条件がチェックされます。

  1. テンプレートが見つかった場合、そのテンプレートがrenderされます。テンプレートのlookup処理はアクション名、locale、format、variant等が考慮され行われます。
  2. アクション名と一致するテンプレートはあったが、formatやvariantが一致しなかった場合、ActionController::UnknownFormatがraiseされます。
  3. アクション名と一致するテンプレートが見つからなかった、かつ、browserからのリクエストの場合、こちらもActionController::UnknownFormatがraiseされます。2番目の場合とは、表示されるエラーメッセージの内容が異なります。
  4. 上記どの条件とも一致しなかった場合、API controller同様、"204 No Content"を返します。

詳細はコード参照。この辺り:https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/implicit_render.rb#L36..L79


Additional review of 6b31761.

actionpack/lib/action_controller/metal/implicit_render.rbguides/source/5_0_release_notes.mdの修正です。

エラーメッセージ内にタイポがあったのを修正、及び使用していないテスト用のファイルを削除しています。


Merge pull request #23874 from st0012/update-documents

rails guideのConfiguring Rails Applicationsの修正です。

config.debug_exception_response_formatオプションについての説明を追加、及びconfig.force_sslオプションの箇所に、force_sslにtrueを設定した場合config.action_mailer.default_url_options{ protocol: 'https' }が設定される旨説明を追加しています。