なるようになるブログ

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

rails commit log流し読み(2017/08/09)

2017/08/09分のコミットです。

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

railties/CHANGELOG.md

actionpack/CHANGELOG.md


Set ActiveStorage::Blob.service when ActiveStorage::Blob is loaded

activestorage/lib/active_storage/engine.rbの修正です。

after_initializeで行っていたActiveStorage::Blob.serviceの設定処理をto_prepareを使用して行うよう修正しています。

after_initializeだと初期化のタイミングで実行されず、ActiveStorage::Blobをreloadした際に再設定がされない為。


Merge pull request #30127 from y-yagi/deprecate_support_of_older_config_ru

railties/lib/rails/commands/server/server_command.rbの修正です。

rails serverを起動する際に、config.ru内のrunメソッドににRails::Applicationのサブクラスを指定する(e.g. run Master::Application)のがdeprecateになりました。

config.ru uses the effective Rack app で起動時にはRails::ApplicationのサブクラスではなくRails Applicationのインスタンス(Rails.application)を指定するようになっていました。その後、互換性の為に古い書き方でも動くようになっていたのですが、今回その古い書き方はdeprecateになりました。


Merge pull request #30125 from yukideluxe/add-reload-to-associations-docs

activerecord/lib/active_record/associations.rbのdoc、及び、rails guideのActive Record Associationsの修正です。

各箇所にreload_associationメソッドについてのdocを追加しています。


Document ActiveRecord::AttributeMethods::Dirty

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

ActiveRecord::AttributeMethods::Dirty moduleの各種メソッド(saved_change_to_attributesaved_change_to_attribute?等)をpublic APIにしています(http://api.rubyonrails.org/にのるようにしている)。


Merge pull request #30122 from yhirano55/use_with_dummy_app_in_gitignore

railties/lib/rails/generators/rails/plugin/templates/gitignoreの修正です。

dummy applicationを使用しているかどうかを判定するのに、ラッパーメソッドを使用するよう修正しています。


Merge pull request #30123 from yhirano55/fix_dummy_app_configuration

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

dummy applicationのapplication.rbでrequireするコンポーネントのファイルを、実際のrails applicationのapplication.rbと同じ内容になるよう修正しています。


add missing collection.reload documentation [ci skip]

activerecord/lib/active_record/associations.rbのdoc、及び、rails guideのActive Record Associationsの修正です。

collection.reloadについてのdocを追加しています。


Merge pull request #30133 from kamipo/fix_random_ci_failure

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

test_has_many_association_through_a_has_many_association_to_selfがテストの実行順によりテストが失敗するようになってしまっていたので、assertionを使用する際に結果をsortし、必ず同じ順でassertするよう修正しています。


Use the same key as presented in doc

railties/lib/rails/generators/rails/app/templates/config/storage.ymlのdocの修正です。

Azure Storageで使用するkeyの名前をstorage_access_keyに修正しています。ファイル内にあるdocのkey名と合わせる為。


Merge pull request #30115 from intrip/30049-application-controller-renderer-defaults-automatic-reload-in-dev

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

ApplicationController.renderer.defaultsを設定するexampleコードをActiveSupport::Reloader.to_prepareのblock内で行うよう修正しています。reload時に再度値が読み込まれるようにする為。


Merge pull request #29767 from yui-knk/ac_test

actionpack/test/dispatch/response_test.rbの修正です。

content typeに関するテストから不要なActionDispatch::Response.default_charsetの復元処理を削除しています。テスト内でActionDispatch::Response.default_charsetは変更していなかった為。


Merge pull request #30104 from trev/deprecate-actiondispatch-testresponse-alias

actionpack/lib/action_dispatch/testing/test_response.rbの修正です。

ActionDispatch::TestResponsesuccess?missing?及びerror?メソッドをdeprecateにしています。

これらのメソッドは、それぞれsuccessful?not_found?server_error?のaliasとして定義されていたのですが、ActionDispatch::Responsesuccess?等のメソッドは定義されておらず、実際のResponseクラスに定義されていないメソッドがTest用のクラスにのみ定義されているの良くないだろう、という事でdeprecateになっています。


Merge pull request #30109 from koic/simplify_git_source_in_gemfile

Gemfileの修正です。

git_sourceソースの指定処理をリファクタしています。

-git_source(:github) do |repo_name|
-  repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
-  "https://github.com/#{repo_name}.git"
-end
+git_source(:github) { |repo| "https://github.com/#{repo}.git" }

rails newで生成されるGemfilebundlerが生成するGemfileと同様の内容(リポジトリ名にアカウント名だけを指定した場合のサポートを削除)にしています。


Merge pull request #30112 from dixpac/filter_minitest_backtrace

activestorage/test/test_helper.rbの修正です。

Minitest.backtrace_filterMinitest::BacktraceFilterを指定しています。他のライブラリのbacktraceを表示出来るようにする為。


Merge pull request #30108 from yui-knk/require_concurrent_map

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

不足していたconcurrent/mapのrequireを追加しています。


Merge pull request #30090 from yhirano55/fix_escaped_character

railties/test/generators/plugin_generator_test.rbの修正です。

test_skipping_test_filesassert_no_matchのexpectに指定する正規表現内でエスケープ処理が不足していたのを追加しています。


Merge pull request #30091 from yhirano55/fix_engine_command

railties/lib/rails/generators/rails/plugin/templates/bin/rails.ttの修正です。

dummy applicationを使用していない場合、不要なAPP_PATHの設定処理を行わないよう修正しています。