なるようになるブログ

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

rails commit log流し読み(2020/02/17)

2020/02/17分のコミットです。

CHANGELOGへの追加はありませんでした。


Update examples Migration versions to 6.0 [ci skip]

Active Recordのdocの修正です。

各doc内の、マイグレーションファイルのexampleコードのバージョンを6.0に修正しています。


Delete .ruby-version in generated plugin dummy app

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

rails plugin用のdummyアプリケーションを生成した際に、.ruby-versionを削除するよう修正しています。dummyアプリケーションでRubyバージョンを指定する必要はない(必要ならplugin側でやるべき)な為。


[ci skip] Improve docs for :foreign_key in migrations

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

add_referenceメソッドのdoc内の:foreign_keyオプションについて説明している箇所に、:to_tableオプションについての説明を追加しています。


Merge pull request #38463 from jonathanhefner/fix-rails-new-dev

railtiesの修正です。

rails new--devオプションを指定した場合にエラーになってしまうバグがあったのを修正しています。


Copy argument in AttributeAssignment#attributes=

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

AttributeAssignmentattributes=メソッドを定義しています。

元々はActive RecordのAttributeAssignmentassign_attributesメソッドはなく、Active ModelのAttributeAssignmentにあるassign_attributes / attributes=が使用されていたのですが、Do not stringify attributes in assign_attributesでActive Record側にassign_attributesメソッドが追加されました。

ただ、assign_attributesだけだとネストしたパラメータに対するコピー処理が正しく動作しない為、attributes=メソッドも追加するよう修正しています。


Update Documentation - add method which eliminates N + 1 queries

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

N+1クエリーを避けるためのメソッドについて説明した、Avoid N+1 queriesセクションを追加しています。


Update assert_changes and assert_no_changes to use assert_equal

activesupport/lib/active_support/testing/assertions.rbの修正です。

assert_changes / assert_no_changesで値を比較する時にassertを使用していたのをassert_equal / assert_not_equalを使用するよう修正しています。

assertを使用していたのは、assert_equalのbeforeにnilを指定した場合のdeprecateメッセージ(assert_nilを使うようにする旨のメッセージ)を避けるためだったのですが、その影響でエラーになった際のdiffがわかりずらくなってしまった為、assert_equal / assert_not_equalを使用するよう戻しています。