なるようになるブログ

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

rails commit log流し読み(2019/07/28)

2019/07/28分のコミットです。

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

activerecord/CHANGELOG.md

actionpack/CHANGELOG.md


Use a smaller TIFF file as fixture

activestorage/test/fixtures/files/racecar.tifの修正です。

Railsのテストで使用するTIFFファイルを圧縮するよう修正しています。


Update links to new MySQL server errors reference page [ci skip]

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

MySQLのエラーメッセージについてのページへのリンクを最新のページへのリンクに修正しています。


Merge pull request #36303 from gaotongfei/feature/ignore-specified-fixtures

activerecord/lib/active_record/fixture_set/file.rbactiverecord/lib/active_record/fixtures.rbの修正です。

fixturesで無視したいlabelを_fixtureセクションで指定出来るよう修正しています。

_fixture:
  ignore:
    - base

base: &base
  admin: false
  introduction: "This is a default description"

admin:
  <<: *base
  admin: true

visitor:
  <<: *base

上記のように指定した場合、baseラベルは無視される(データが作成されない)ようになっています。


Merge pull request #36545 from tomfakes/screenshot-updates

actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rbの修正です。

system testで、テスト毎にスクリーンショットを一度しか取得出来なかった(ファイル名が被るので古い方が上書きされてしまていた)のを、ファイル名にインクリメントカウンターを含むようにしてテスト毎に複数スクリーンショットを取得出来るよう修正しています。

また、画像でしか取得してなかったスクリーンショットをHTMLでも取得するよう修正しています。これはRAILS_SYSTEM_TESTING_SCREENSHOT_HTML envに1を指定しているときだけ取得するようになっています。


fix typo in actionpack CHANGELOG.md

actionpack/CHANGELOG.mdの修正です。

CHANGELOGのエントリーのタイポを修正しています。

- *   Calling `ActionController::Parameters#transform_keys/!` without a block now returns
+ *   Calling `ActionController::Parameters#transform_keys!` without a block now returns

が、これはtransform_keystransform_keys!メソッドという意味で、タイポではないので後ほどRevertされています。


Merge pull request #36185 from jonathanhefner/optimize-string-first-and-last

activesupport/lib/active_support/core_ext/string/access.rbの修正です。

String#firstString#lastメソッドで不要な分岐 + メソッド呼び出しを削除するよう修正しています。


Use capture_sql helper method in tests

activerecord/test/cases/associations/belongs_to_associations_test.rbactiverecord/test/cases/associations/has_one_associations_test.rbの修正です。

SQLを取得するのにActiveRecord::SQLCounterを直接使用していたのを、ラッパーであるcapture_sqlメソッドを使用するよう修正しています。


Revert "Merge pull request #36785 from shes50103/fix_typo_actionpack_changelog"

Action PackのCHANGELOGのエントリーのタイポを修正した、fix typo in actionpack CHANGELOG.mdをRevertしています。先に記載した通りタイポではない為。


Performance improvement for String#to

activesupport/lib/active_support/core_ext/string/access.rbの修正です。

String#toメソッドで結果がnilの場合用にto_sメソッドを使用していたのを、nilの場合は空文字を使用するようにしてto_sメソッドの呼び出しを削除しています。


Improves compatibility of require_dependency in zeitwerk mode [Closes #36774]

activesupport/lib/active_support/dependencies/zeitwerk_integration.rbの修正です。

zeitwerk modeで、require_dependencyrequireのaliasとなっていたのを、classic mode同様にアプリ内のファイルをrequire出来るよう修正しています。

Rails自体がrequire_dependencyを使用してhelperファイルのロードを行う為、require_dependencyがアプリ内のファイルを読みこめるようになっていないと、auto load pathがload pathに追加されない場合(config.add_autoload_paths_to_load_pathにfalseを指定した場合)にhelperファイルの読み込みに失敗する為。