なるようになるブログ

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

rails commit log流し読み(2017/12/14)

2017/12/14分のコミットです。

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

activerecord/CHANGELOG.md

activesupport/CHANGELOG.md


Merge pull request #30474 from yhirano55/make_it_same_title_in_index_and_page

rails guideの修正です。

indexページと実際のguideのページとでタイトルが異なっているguideがあったのを、同じタイトルになるよう修正しています。


Suppress expected exceptions by report_on_exception = false in Ruby 2.5

activerecord/test/cases/adapters/postgresql/transaction_test.rbactiverecord/test/cases/connection_pool_test.rbの修正です。

別スレッドで発生した例外を無視したいテストで、Thread.report_on_exceptionにfalseを明示的に指定するよう修正しています。

Thread.report_on_exceptionRuby 2.4ではデフォルトfalseだったので特に指定は必要無かったのですが、2.5でデフォルトがtrueに変わった為。


Expose Active Storage routes

activestorage/config/routes.rbの修正です。

Active Storageのroutesからinternalの指定を削除し、アプリからActive Storageのroutesを見れるよう(rails routes等の実行結果に表示される)修正しています。

Active Storageのroutesをオーバーライドして独自のcontrollerを作りたい、というようなケースがある(認証を先に行いたい等)らしく、それが出来るようにする為にroutesを表示するようにしています。


[ci skip] Add a space to comment in SidekiqAdapter

activejob/lib/active_job/queue_adapters/sidekiq_adapter.rbのdocの修正です。

SidekiqAdapter#enqueueメソッド内のコメントの適切な位置にスペースを追加しています。


Preserve original method visibility when deprecating a method

activesupport/lib/active_support/deprecation/method_wrappers.rbの修正です。

MethodWrapper.deprecate_methodsメソッドでメソッドをdeprecateにした際に、deprecateになったメソッドの可視性が保持されないバグがあったのを修正しています。


Suppress warning: BigDecimal.new is deprecated in activerecord

Acive Recordの修正です。

BigDecimalインスタンスを生成するのに、BigDecimal.newを使用していたのを、まとめてBigDecimalを使用するよう修正しています。

-    new_value = BigDecimal.new("123.45")
+    new_value = BigDecimal("123.45")

BigDecimal 1.3.3でBigDecimal.newがdeprecatedになった為。

参考:Deprecate BigDecimal.new

ちなみにdeprecateにしたのは、BigDecimalをnumericクラスのようにimmutable + frozenにする為との事です。こちらの参考:Removing BigDecimal.new to match core numeric classes like Integer


Use released resque-scheduler instead of master version

Gemfileの修正です。

resque-scheduler を使用するのにGitHubのmasterを指定していたのを、リリーズ済みのgemを使用するよう修正しています。


Enable Layout/LeadingCommentSpace to not allow cosmetic changes in the future

Layout/LeadingCommentSpace copを追加、及び、各ファイルにcopを適用しています。


Merge pull request #26815 from olivierlacan/log-query-source

Active Recordの修正です。

Active Recordのqueryが発行された際のcallersをログに表示するするよう対応しています。

例。

# log/development.log
User Load (0.2ms)  SELECT "users".* FROM "users"
↳ app/views/users/index.html.erb:14

callerを表示するかどうかはconfig.active_record.verbose_query_logsで指定出来るようになっており、rails newで新規に作成したアプリでは、development環境でのみcallerが表示されるようになっています。


Merge pull request #31289 from witlessbird/fips-compatibility

Railsで使用するhash functionを指定する為のActiveSupport::Digestクラスを追加しています。デフォルトはDigest::MD5(元々コード内で使われていたhash function)。

アプリから指定したい場合は、config.active_support.use_hash_digest_classにclassを指定すればOKとなっています。

FIPS モードを有効にしているシステムではMD5が使えず、代わりにSHA512を使う必要があった為、この対応を行ったとの事です。へー、