なるようになるブログ

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

rails commit log流し読み(2019/12/20)

2019/12/20分のコミットです。

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

activerecord/CHANGELOG.md

activesupport/CHANGELOG.md


Fix Active Record attribute filtering test on Ruby 2.7

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

Ruby 2.7でppの出力結果が変わったことによりfilter attributesのテストが通らなくなっていたのを修正しています。


Merge pull request #31725 from rlue/doc/asset-pipeline-guide

rails guideのThe Asset Pipelineの修正です。

Local Precompilationの項の言い回しを修正しています。


Merge pull request #37994 from bibstha/remove_activejob_logging_backtrace

activejob/lib/active_job/log_subscriber.rbの修正です。

callback 失敗時のログからstacktraceを削除しています。stacktraceがそのまま出るのはノイズになる、かつ、必要ならExceptionオブジェクトから参照すれば良いだろう、とのことです。


Fix DebugExceptions crash on nil Exception#annoted_source_code

actionpack/lib/action_dispatch/middleware/debug_exceptions.rbの修正です。

Exception#annoted_source_codenilを返す場合にDebugExceptionsNoMethodErrorをraiseしてしまうバグがあったのを修正しています。


Merge pull request #28902 from voxik/fix-inspect

actionview/lib/action_view/template/resolver.rbの修正です。

ActionView::Resolver::Cache#inspectメソッドでobject_idを使用してidを出力していたのを、to_sメソッドを使用するよう修正しています。

object_idだと値が負の値になる事がある、かつ、既存のテストが負の値になることを想定しておらずテストが失敗してしまう為。


Don't require "action_view/base" in action pack:

Action Pack、Action Viewの修正です。

Action Packのロード時にaction_view/baseがロードされるようになっていたのを、ロードしないよう修正しています。

コンポーネントを初期化完了より前にロードするのは思わぬ副作用がある(e.g. 初期化で設定されるconfigが正しく設定されない)為、他のコンポーネント同様、初期化処理が先に正しく実行されるようにするために、action_view/baseをロードしないよう修正しています。


Merge pull request #38029 from seejohnrun/freeze-configuration_hash

activerecord/lib/active_record/database_configurations/hash_config.rbactiverecord/lib/active_record/test_databases.rbの修正です。

DatabaseConfigurations::HashConfig#configuration_hashメソッドでfreezeした値を返すよう修正しています。

configuration objectsを生成する為のDSLの導入を検討しており、その対応の一環としてHashベースの値の直接の変更は出来ないようさせたかった為、のようです。


Add CHANGELOG for #38029

先のconfiguration_hashの戻り値をfreezeするようにした対応について、CHANGELOGにエントリーを追加しています。


Make Rails::Configuration::Generators accessor consistent

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

Rails::Configuration::Generatorsでkeyを指定した際に値を取得(e.g. Rails.application.config.generators.orm # => :data_mapper)出来るよう修正しています。

Rails.application.config.generators.orm :data_mapperによる値の指定が出来ていた為、getter / setterで振る舞いを合わせる為。


Improve ActiveSupport::Duration performance about 25% ~ 50%

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

ActiveSupport::Durationpartsから値を取得する際に不要なArrayを生成しないようリファクタリングしています。


Don't use rails command shortcuts in guides [ci skip]

rails guideの修正です。

railsコマンドのショートカットを使用していた箇所を、正式な値(e.g. g -> generate)を使用するよう修正しています。


Merge pull request #38038 from Shopify/activerecord-ruby-2.7-warnings-6-0-stable-batch-2

6-0-stable ブランチ向けに行われたActive RecordのRuby 2.7のwarning対応(Activerecord ruby 2.7 warnings 6 0 stable batch 2)をmasterにコミットしています。


Use the 'What is FRAMEWORK?' title for all framework guides [ci skip]

rails guideの修正です。

コンポーネントのguideの最初のセクション名をWhat is xxに統一するよう修正しています。


Merge pull request #38053 from Shopify/actionmailer-6-0-stable-ruby-2.7-warnings

6-0-stable ブランチ向けに行われたAction MailerのRuby 2.7のwarning対応(Fix Ruby 2.7 warnings in Action Mailer 6.0)をmasterにコミットしています。


Merge pull request #38042 from eileencodes/update-read-query

Active Recordの修正です。

read-only queryとしてみなすqueryにUSE、及び、cursors(CLOSEFETCH等)を追加しています。


Merge pull request #38051 from Shopify/actionpack-6-0-stable-ruby-2.7-warnings

6-0-stable ブランチ向けに行われたAction PackのRuby 2.7のwarning対応(Fix Ruby 2.7 warnings in Action Pack 6.0)をmasterにコミットしています。


Merge pull request #38046 from st0012/continue-34683

activesupport/lib/active_support/duration/iso8601_serializer.rbの修正です。

ActiveSupport::Duration#iso8601の結果からweeksを削除(date partsに混ぜる)するよう修正しています。

weeksが含まれていると、その結果をActiveSupport::Duration.parseに指定した場合にエラー(ActiveSupport::Duration::ISO8601Parser::ParsingError)になってしまう為。