なるようになるブログ

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

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

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

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

railties/CHANGELOG.md


Fix uniqueness validation with an after_create hook.

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

uniqueness validatorでprimary keyの値が変わった場合にuniquenessのチェックを更新前のprimary keyの値を除いて行うよう、Merge pull request #23581 from diego-silva/uniqueness-validator-pk-fixで修正されたのですが、idが生成されてない場合(after_create)の場合の考慮が漏れていたのを追加しています。

        if record.persisted?
           if finder_class.primary_key
-            relation = relation.where.not(finder_class.primary_key => record.id_was)
+            relation = relation.where.not(finder_class.primary_key => record.id_was || record.id)
           else

Doc: update routes guides for Rails 5

rails guideのGetting Started with Railsの修正です。

デフォルトのroutes.rbのexample、及び説明を、Rails 5でデフォルトで生成されるroutes.rbの内容に合わせて修正しています。


Doc: update AC::Parameters guides for Rails 5

rails guideのGetting Started with Railsの修正です。

paramsメソッドが返す値がActiveSupport::HashWithIndifferentAccessになっていたのを、ActionController::Parametersに修正しています。


Revert "Update Session to utilize indiffernt access"

sessionをHashで管理していたのをHashWithIndifferentAccessで管理するよう修正した、Merge pull request #20851 from tomprats/indifferent-sessionsをrevertしています。

HashWithIndifferentAccessHashとまったく同じ挙動をする訳ではなく、一部異なる挙動をし、それにより既存のコードが動かなくなってしまう、という問題が発生した為、revertしたとの事です。


Revert "Merge pull request #20851 from tomprats/indifferent-sessions"

先のコミット同様、Merge pull request #20851 from tomprats/indifferent-sessionsのrevertコミットです。


Merge pull request #23846 from y-yagi/correctly_check_ApplicationRecord_in_mountable_engine

activerecord/lib/rails/generators/active_record/model/model_generator.rbactiverecord/lib/rails/generators/active_record/model/templates/application_record.rbの修正です。

Generate ApplicationRecord if it does not already exist · rails/rails@1813b29でmodel生成時に、application_record.rbが無い場合、application_record.rbを生成するよう修正しのですが、mountable engineの場合の考慮(namespaceがある場合の考慮)がされてなかったので、mountable engineでも正しく動作するよう修正しています。


Merge pull request #23852 from prathamesh-sonpatki/hsts-subdomains

Action Pack / railtiesの修正です。

新規に作成するRails applicationでは、HSTSのincludeSubDomainsオプションをデフォルトでtrueにするよう修正しています。

値の設定はinitializerで行われているので既存のアプリには影響が無いのですが、Rails 5.1ではそもそもデフォルトの値をtrueに変更する予定があり、今後falseにしたい場合は、明示的に値を設定する必要があります(config.ssl_options = { hsts: { subdomains: false }})。


:nail_care:

actionpack/lib/action_dispatch/middleware/ssl.rbの修正です。

各deprecateメッセージ内にスペースが不足している箇所があったのを修正してます。


Merge pull request #23738 from maclover7/issue-template

.github/issue_template.md.github/pull_request_template.mdの修正です。

Githubでissue / PRを作成する際の、デフォルトのテンプレートファイルを作成しています。

参考:Issue and Pull Request templates


The async.callback call should live with the hijack

actioncable/lib/action_cable/connection/client_socket.rbの修正です。

async.callbackの呼び出しタイミングが誤っていた(rack hijackの処理の後にやるべきが、前に処理をおこなっていた)のを修正しています。


:nail_care:

.github/issue_template.mdの修正です。

閉じ括弧が足りてない箇所があったのを修正しています。


fix typo in pull_request_template [ci skip]

.github/pull_request_template.mdの修正です。

http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html#contributing-to-the-rails-documentation へのリンクでタイポしている箇所があったのを修正しています。


- Changed Debugging Rails Applications doc's logger introduction section. Changed location for specifying logger.

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

任意のloggerを指定するexampleコードで、loggerの指定のしかたに誤りがあったのを修正しています。


[close #23681] Use puma 3.0.0+

railties/lib/rails/generators/app_base.rbの修正です。

新規に作成するRails applicationで使用するpumaのバージョンを3.0.0以上を使用するよう修正しています。

Railsのデフォルトのpumaのconfigファイル(config/puma.rb)はpuma 3.0.0以上じゃないと動作しない為、との事です。