なるようになるブログ

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

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

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

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

activestorage/CHANGELOG.md


:scissors:

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

Configurationの項にあるexampleコードから不要なスペースを削除しています。


Fix TypeError: no implicit conversion of Arel::Attributes::Attribute into String properly

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

Calculations#perform_calculationメソッドでcolumn nameがDISTINCTかどうかのチェック処理で、column_nameto_sで変換してからチェックしていたのを変換しないよう修正しています。

元々は、Fix TypeError: no implicit conversion of Arel::Attributes::Attribute …TypeErrorが出るのを抑止する為にto_sを呼び出していたのですが、to_sした場合の結果はinspectした値(e.g. "#<struct Arel::Attributes::Attribute ...>")であり、それだと正しくチェック処理が行われない為。


s/Active Mailbox/Action Mailbox/ [ci skip]

actionmailbox/app/controllers/action_mailbox/base_controller.rbのdocの修正です。

Active Mailboxという古い名称が使われている箇所があったのを、Action Mailboxに修正しています。


Document Action Mailbox configuration options [ci skip]

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

Action Mailboxのconfigについて説明したConfiguring Action Mailboxの項を追加しています。


Bring ActiveRecord::Core's API document back [ci skip]

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

元々API docに表示されていたActiveRecord::Core moduleのメソッドがAPI docに表示されなくなってしまっていたのを、再度表示されるよう修正しています。


Add test case for preventing_writes?

activerecord/test/cases/adapter_test.rbの修正です。

preventing_writes?メソッドのテストを追加しています。


Add assertions for ActiveRecord::Base.current_role

activerecord/test/cases/connection_adapters/connection_handlers_multi_db_test.rbの修正です。

connections切り替えに関するテストで、ActiveRecord::Base.current_roleメソッドの結果についてもテストするよう修正しています。


Permit sending Active Storage purge and analysis jobs to separate queues

Active Storageの修正です。

Active Storageで使用するActive Jobのqueueが全てのjobで同じqueueしか指定出来なかったのを、job毎(config.active_storage.queues.analysisconfig.active_storage.queues.purge)に指定出来るよう修正しています。

これにより、元のconfig(config.active_storage.queue)はdeprecateになりました。


MariaDB: Remove version checking lower the 5.5.8

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

不要なMariaDBのバージョンチェックを削除しています。Validate if utf8mb4 character set and longer index key prefix is supportedMySQL 5.5.8 以上のみをサポートするようになり、それ以下についてはチェックが不要な為。


Merge pull request #34835 from gmcgibbon/fix_examples_in_log_subscriber

activesupport/lib/active_support/log_subscriber.rbのdocの修正です。

ActiveSupport::LogSubscriberのdoc内にあるexampleで実際のログ出力処理用のメソッド呼び出しが不足していたのを追加しています。


Merge pull request #34836 from kamipo/class_level_update_without_ids

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

class levelのupdateをid引数の指定無しで動作するよう修正しています。

これは、元々ドキュメントにない挙動で、Avoid extra scoping when using Relation#updateで削除された挙動でした。

ただ、この挙動が動作しなくなったというissueが来た、かつ、stableバージョンではドキュメントにない挙動でも極力挙動を維持すべき(5.2.2から動作しなくなった)という方針により、再度動作するよう修正しています。