なるようになるブログ

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

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

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

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

activerecord/CHANGELOG.md


Merge pull request #31479 from iamvery/reword-delegate-allow-nil-paragraph

activesupport/lib/active_support/core_ext/module/delegation.rbのdocの修正です。

Module#delegateメソッドの:allow_nilオプションについて説明している箇所に、何故このオプションが必要かみたいなコメントが色々と記載されていたのを削除し、シンプルにオプションを指定した場合の挙動についての説明だけを記載するよう修正しています。


Merge pull request #31485 from y-yagi/skip_bootsnap_option

railtiesの修正です。

rails newコマンドにbootsnap gemをスキップする為のskip_bootsnapオプションを追加しています。


Add headless browser support in api docs [ci skip]

actionpack/lib/action_dispatch/system_test_case.rbのdocの修正です。

ActionDispatch::SystemTestCaseクラスのdocにheadless browserの指定方法についての説明を追加しています。


Update new_framework_defaults_5_2.rb.tt

rails/railties/lib/rails/generators/rails/app/templates/config/initializers/new_framework_defaults_5_2.rb.ttの修正です。

AES 256 GCMAES-256-GCMに修正しています。


Ensure MiniMagick tempfiles are properly unlinked after image transformation

activestorage/app/models/active_storage/variant.rbの修正です。

variantでMiniMagickを使って変換処理を行った際に、MiniMagickのtempfilesがそのまま残ってしまっていたのを、削除するよう修正しています。


Merge pull request #31348 from y-yagi/fix_31283

activesupportrailtiesの修正です。

require_master_keyが指定されていない、かつ、master keyが存在しない場合に、credentialsを参照するとエラー(MissingKeyError)がraiseされてしまっていたのを、エラーがraiseされないよう修正しています。

エラーがraiseされるのはrequire_master_keytrueが指定されている場合のみで、それ以外の場合はスルー(nilが変える)するようになっています。


Implicitly skip bootsnap for rails new --dev

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

rails new--devオプションを指定した場合、bootsnapを使用しないよう修正しています。

--devオプションを指定してアプリを作成する場合は、頻繁にコードを修正するときが多く、キャッシュはむしろして欲しく無い為。


Merge pull request #31475 from shioyama/reset_column_information_redefine_child_attribute_methods

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

reset_column_informationメソッドを呼び出した際、子クラスのattribute methodsがそのままになってしまっていたのを、親クラス同様にundefするよう修正しています。


Delete MiniMagick tempfile when transformation fails

activestorage/app/models/active_storage/variant.rbの修正です。

transformに失敗した場合に、MiniMagickのtempfileがそのままになってしまっていたのを削除するよう修正しています。


[ci skip] Added Object Relational Mapping wiki link

rails guideのActive Record Basicsの修正です。

Object Relational Mappingについて記載している箇所にwiki(https://en.wikipedia.org/wiki/Object-relational_mapping)へのリンクを追加しています。


assert_nothing_raised not required here, we can assert directly for the actual result

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

test_exists_should_reference_correct_aliases_while_joining_tables_of_has_many_through_associationでエラーがでない事だけを確認していたのを、正しい値を取得出来る事を確認するよう修正しています。


Using subselect generated by the connection adapter for update_all with offset

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

offset + update_allを実行した場合にエラーになってしまうバグがあったのを修正しています。

OFFSET + UPDATEを実行する場合、subselectを指定する必要がある(SQLite以外)のですが、ArelではまだMySQLのupdate用のsubselectの生成をサポートしていない為、connectionで生成したsubselectを使用するよう修正しています。


Using subselect for delete_all with limit or offset

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

delete_alllimit、または、offsetを指定した場合にエラーになっていたのを、connection adapterが生成したsubselectを使用して動作するよう修正しています。


Quote primary key in the subselect generated by mysql2 adapter

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

mysql2 adapterで生成されたsubselectでprimary keyをクォートするよう修正しています。


Remove outdated comments [ci skip]

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

find_allのテストから、内容が古くなってしまっているコメントを削除しています。