なるようになるブログ

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

rails commit log流し読み(2019/01/26)

2019/01/26分のコミットです。

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

activerecord/CHANGELOG.md


Merge pull request #35042 from eileencodes/fix-error-message-for-missing-handler

activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rbactiverecord/lib/active_record/connection_handling.rbの修正です。

Raise helpful error when role doesn't existで追加したroleが存在しない場合のエラーメッセージ出力処理を削除しています。

autoloadが有効でない環境(development)での最初のリクエストの場合、replicaに接続される前に上記のroleのチェック処理が通ってしまい、結果本来存在するroleについても存在しないと見なされてしまう、という問題があった為削除しています。代わりにconnection retrive時のエラーメッセージに少し詳細な情報を出すようにしています。


Merge pull request #35049 from yuki24/fix-33414

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

debug exceptionでエラーを表示する際に、

  • exceptionのcauseにrescue_responsesの対象のクラスが含まれていた場合に、exceptionが正しく表示されない、かつ、誤ったhttp status codeが戻される
  • viewでexceptionがraiseされた場合に、exceptionが発生したview pathが表示されない、かつ、同じexceptionがcauseにも表示されていた

という問題があったのを修正しています。


Merge pull request #35056 from larskanis/origin-queue-classic

Gemfileの修正です。

queue_classicを使用するのにforkしたリポジトリを使用していたのを、メインラインのリポジトリを使用するよう修正しています。pg gem 1.0向けの対応がコミットされた為。


Loosen check of error cause file

actionpack/test/dispatch/debug_exceptions_test.rbの修正です。

debug exceptionのテストで行っている、エラーが発生したファイルのpathのチェック処理で、ディレクトリ名を厳密にチェックしていたのをチェックしないよう修正しています。

普通にテストした場合とisolationテストとでpathが変わってしまう事があり、両方の場合でテストが通るようにする為。


Merge pull request #35054 from bogdanvlviv/exercise-redirect_back

actionpack/test/controller/redirect_test.rbの修正です。

redirect_backメソッドのfallback_locationオプションに外部サイトを指定した場合のテストを追加しています。


Add missing require for Float#to_d

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

不足していたbigdecimal/utilのrequireを追加しています。


Merge pull request #34803 from yahonda/use_xenial

.travis.ymlの修正です。

CIで使用するimageをUbuntu Xenial (16.04)に更新しています。


Merge pull request #35055 from bughit/patch-1

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

Using Initializer Filesの項に、initializersがgemのinitializerの後に実行される保証は無いので、gemのinitializerの後に実行したい処理がある場合、config.after_initilize を使用する必要がある旨説明を追加しています。


Fix typo: overriden -> overridden [ci skip] (#35060)

railties/lib/rails/commands/credentials/USAGEの修正です。

overriddenoverridenにタイポしていたのを修正しています。


Allow column_exists? giving options without type

activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rbの修正です。

column_exists?メソッドにtype無しでoptions(e.g. null: trueだけ)を指定出来るよう修正しています。


Fix t.timestamps missing null: false in change_table bulk: true

activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rbactiverecord/lib/active_record/connection_adapters/postgresql/schema_statements.rbの修正です。

change_tablebulk: trueを指定した場合、change_table内のtimestampsメソッドにnull: falseオプションが指定されていなかったのを、指定されるよう修正しています。


Make t.timestamps with precision by default

Active Recordの修正です。

datetimeへのprecision指定がサポートされている場合に、timestampsメソッドがデフォルトでprecision: 6を指定するよう修正しています。


Merge pull request #35057 from javan/actiontext/blob-embeds-only

actiontext/app/models/action_text/rich_text.rbの修正です。

Action Text contentにblobではないattachmentがあった場合に、RichTextのsave時にエラーになってしまうバグがあったのを修正しています。