なるようになるブログ

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

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

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

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

railties/CHANGELOG.md

activerecord/CHANGELOG.md

actionpack/CHANGELOG.md


Merge pull request #35504 from grosser/grosser/docs

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

:dependentのデフォルト値についての説明を追加しています。


Merge pull request #37865 from hectorbus/number-to-currency-negative-zero-fix

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

number_to_currencyに負の値 + precisionオプションに0を指定されていた場合に、戻り値に不要な-が指定されていた(-$0)のを、$0を返すよう修正しています。


Also close PRs with no activity over 3 months

.github/stale.ymlの修正です。

3ヶ月以上更新の無いPRを自動でcloseするよう設定を追加しています。


Merge pull request #37583 from louim/improvement/migration-generator-primary-key

Active Recordの修正です。

generatorでprimary_key_typeを指定している場合、migration generatorが生成するファイルでprimary_key_typeに指定されているtypeを使用するよう修正しています。


Merge pull request #37986 from Edouard-chin/revert-revert-ec-sqlite3-connection-transaction

Active Recordの修正です。

SQLiteで分離レベルがREAD UNCOMMITTEDなtranactionを行えるよう修正した、Merge pull request #37798 from Edouard-chin/ec-sqlite3-connection-transactionを再度コミットしています。

テストが不安定になっていたのは、concurrent transactionのテストをSQLite3で実行してしまっていた為で、左記テストはSQLite3 で実行しないようにして対応しています。


Add a host method to HashConfig

Active Recordの修正です。

HashConfig classにホスト名を返すhostメソッドを追加しています。


Deprecate connection_config

Active Recordの修正です。

ActiveRecord::Base.connection_configメソッドをdeprecatedにしています。今後は、connection_db_configメソッドを使用する必要があります。

configをHashで保持していたのをObjectで持つようにする対応の一環。connection_db_configの戻り値はHashではなくDatabaseConfigurations::DatabaseConfigです。


Rename a test method to not conflict with a deprecated method

Active Recordのテストの修正です。

先のコミットでdeprecatedになったconnection_configと同じ名前のメソッドをテスト用に独自に定義していたのを、test_configuration_hashesにリネームしています。名前が同じだと紛らわしい為、とのこと。


Make belongs_to_required_by_default a class attribute:

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

belongs_to_required_by_defaultをclass attributeに変更しています。class毎に`belongs_to_required_by_defaultを設定出来るようにする為。


Disable ActiveJob retry jitter when given zero/falsey value (#38003)

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

:jitterオプションにnil / falseを指定出来るよう修正しています。nil / falseが指定された場合0.0(無効化)として扱われるようになっています。


Move name key on configuration hash into DatabaseConfig

Active Recordの修正です。

DatabaseConfig#configuration_hashからname keyを削除しています。nameが必要な場合、DatabaseConfig#owner_name を使用する必要があります。

DBへ接続する際に必要な情報とRailsがconnectionを取得するために必要な情報の分離を行っており、nameは後者の為削除したとの事です。


Merge pull request #36997 from mvastola/fix-activestorage-docs](https://github.com/rails/rails/commit/0014fd1a5dcc60f9fec904b6e33c0b56c50ee744)

.yardoptsの修正です。

ドキュメントに含む対象appディレクトリ配下のファイルも含むよう修正しています。Active Storage等のengine製のgemだとappディレクトリが存在する為。


Merge pull request #36162 from thomasdarde/patch-2

rails guideのActive Storage Overviewの修正です。

Downloading Filesの項に、ファイルはafter_create callbackでは利用出来ない旨注記を追加しています。


Merge pull request #37088 from enriikke/fix-activemodel-error-frozen

activemodel/lib/active_model/errors.rbの修正です。

Model error as objectの影響により、ActiveModel::Errors Hashのclear / deleteメソッドを実行するとFrozenErrorがraiseされてしまうようになっていたのを、適切なdeprecatedメッセージが表示されるよう修正しています。


Merge pull request #37037 from Sean0628/update-initialization-page

rails guideのThe Rails Initialization Processの修正です。

Rails内のコードについて説明している箇所のコードを、最新のコードに内容を更新しています。


Merge pull request #36589 from yskkin/reversible_remove_columns

activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rbactiverecord/lib/active_record/migration/command_recorder.rbの修正です。

remove_columnsメソッドがreversibleになるよう修正しています。reversibleにするには、typeオプションを必ず指定する必要があります。


Merge pull request #36377 from y-yagi/remove-spring-watcher-listen

railties/lib/rails/generators/rails/app/templates/Gemfile.ttの修正です。

デフォルトのGemfileからspring-watcher-listen gemを削除しています。

spring-watcher-listen gemはデフォルトでアプリケーションのルートをwatchするようになっており、結果予期せぬファイルまでlistenwatch対象に追加されてしまう事がある為。


Merge pull request #36417 from notentered/patch-1

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

Server-Side Componentsの項に、cookieに格納されているユーザを取得する場合のexampleを追加しています。


Merge pull request #36240 from vishaltelangre/explicity-rollback-behavior-in-nested-transactions

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

ActiveRecord::Rollbackのdocにtransactionがネストしている場合の挙動についての説明を追加しています。


Merge pull request #36222 from panckreous/patch-1

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

Setup -> Set upに修正しています。


Merge pull request #36456 from rails/remove-object-id

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

sql.active_record notificationからconnection_idを削除しています。

connection_idにはobject_idの結果が格納されていたのですが、object_idの実行はRuby 2.7でより遅くなっている為、との事です。


Remove connection_id key from the sql.active_record notification

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

先のコミット同様、他の箇所のsql.active_record notificationからconnection_idを削除しています。


Merge pull request #36143 from fedeagripa/guides/action-text_backend

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

(viewが無い)API向けについての情報を記載した、Just backend development (APIs)セクションを追加しています。


Style actionable errors button

actionpack/lib/action_dispatch/middleware/templates/rescues/layout.erbの修正です。

actionable errorsで表示されるボタンのスタイルを調整しています。


Highlight code with Prism on 'turbolinks:load' [ci skip]

guides/assets/javascripts/guides.jsの修正です。

turbolinksでページがロードされた際もシンタックスハイライトが行われるよう修正しています。


Add missing languages for guides code blocks [ci skip]

rails guideの修正です。

コードを指定する際に、言語の指定が不足していた箇所があったのを修正しています。


Merge pull request #32143 from sambostock/bubble-up-session-assertions

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

IntegrationTestopen_sessionを使用して違うsessionを開始した場合に、そのsession内で実行されたassertの情報が大本の親セッションで参照出来ていなかったのを、出来るよう修正しています。

これにより、子セッションで実行したassertについてもテスト結果のサマリーで正しく表示されるようになっています。


Merge pull request #35142 from peterb/master

railties/lib/rails/generators/rails/app/templates/config/databases/jdbcpostgresql.yml.ttrailties/lib/rails/generators/rails/app/templates/config/databases/postgresql.yml.ttの修正です。

指定するユーザ名について説明している箇所の言い回しを修正しています。


Merge pull request #28209 from tjoyal/railties/add-config-rake_eager_load

railtiesの修正です。

Rask task実行時のeager loadの挙動をconfigで制御出来るよう修正しています。

デフォルトは元の挙動と同じくfalseで、config.rake_eager_loadtrueを指定すると、Rake task実行時にもeager loadが行われるようになっています。


Remove :connection_id in an internal instrument

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

sql.active_record notificationでconnection_idを使用している箇所がまだ残っていたのを修正しています。


Fix typos

各doc、テストメソッド名のタイポを修正しています。


Do not use hard tab in markdown [ci skip]

rails guideのUpgrading Ruby on Railsの修正です。

コード内でハードタブを使っている箇所があったのを修正しています


Remove reading spaces in the code block [ci skip]

rails guideのUpgrading Ruby on Railsの修正です。

コード内のスペースを調整しています。


Load an application before use

railties/test/application/configuration_test.rbの修正です。

Rails.applicationを使用する前にアプリケーションの初期化処理を呼び出すよう修正しています。


Address Error: caskroom/cask was moved. Tap homebrew/cask-cask instead.

Brewfileの修正です。

古いパッケージ名を使用している箇所があったのを修正しています。


Api-docs validation defaults missing absence [ci skip]

activemodel/lib/active_model/validations/validates.rbのdocの修正です。

default validationの一覧に absence validationの例がなかったのを追加しています。


Merge pull request #28499 from grosser/grosser/puma

actionmailbox/test/dummy/config/puma.rbの修正です。

threads_countport等のconfigの指定がString / Integer混在していたのを、Integerで指定出来る値はすべてIntegerで指定するよう修正しています。


Fix documentation indentation:

rails guideのUpgrading Ruby on Railsの修正です。

Active Record belongs_to Required by Default Optionのexampleコードのコードハイライトが正しく表示されていなかったのを修正しています。


Merge pull request #28704 from unfunco/remove-superfluous-keep

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

不要なtest/fixturesの生成処理を削除しています。その先で子ディレクトリ(test/fixtures/files)を生成処理があり、その延長で一緒に作成される為。


Fix remaining connection_config calls

railtiesのテストの修正です。

deprecateになったconnection_configを使用している箇所が残っていたのを修正しています。