なるようになるブログ

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

rails commit log流し読み(2020/01/26)

2020/01/26分のコミットです。

CHANGELOGへの追加はありませんでした。


Update Migration number to ensure consistency on the documentation [ci skip]

各guide内の、マイグレーションファイルのexampleコードのバージョンを6.0に修正しています。


Update result from var instance output [ci skip]

rails guideのDebugging Rails Applicationsの修正です。

Inspecting Variablesの項のexampleコードの実行結果が実際の結果と異なっている箇所があったのを修正しています。


Add CacheStore connection pool docs to guide [ci skip]

rails guideのCaching with Rails: An Overviewの修正です。

cache storeでconnection poolを使う方法について説明したConnection Pool Optionsを追加しています。


Deletes the private method add_template_helper

actionpack/lib/abstract_controller/helpers.rbの修正です。

一箇所でしか使用されていないadd_template_helperメソッドを削除して、使用箇所で直接include処理を行うよう修正しています。

rails commit log流し読み(2020/01/24)

2020/01/24分のコミットです。

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

activerecord/CHANGELOG.md


Allow schema cache path to be defined in the config file

Active Recordの修正です。

schema cache pathを設定ファイルで指定出来るよう修正しています。keyはschema_cache_path

例。

development:
  adapter: postgresql
  database: blog_development
  pool: 5
  schema_cache_path: tmp/schema/main.yml

Merge pull request #38250 from vikasvr/skip_keep_fix

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

--skip-keepsオプションをrails newに指定した場合も、app/assets/imagesディレクトリは生成するよう修正しています。

デフォルトで生成されるconfig/manifest.jsimagesディレクトリを参照しており、ディレクトリが無いと参照時にエラーにになってしまう為。


Use path instead of fullpath on validating authenticity token

actionpack/lib/action_controller/metal/request_forgery_protection.rbの修正です。

authenticity tokenのvalidate時にrequestのfullpathを使用していたのを、pathを使用するよう修正してます。

Do not re-parse PATH_INFO when validating authenticity tokenでquery parametersの再パースをしないよう対応したのですが、その際の修正漏れ対応(fullpathはquery parameters付きの値が返ってくる為、fullpathを使わないようにする必要があったのが対応が漏れていた)


Merge pull request #38247 from rosa/save-context-with-response

Active Recordの修正です。

database selectorのcontextでrequestだけでしか更新出来なかったのを、responseも更新出来るよう修正しています。

primary / secondaryどちらに処理をおこなかったをresponseで判断出来るよにしたい、というユースケースがあった為、との事です。


Move advisory lock to it's own connection

Active Recordの修正です。

advisory lockのconnection名をadvisory lock用の独自の名前に修正しています。

元々はmigration開始時にActiveRecord::Base.connectionを使用していたのですが、アプリが複数DBを使用して、かつ、migration内でmodelを使用して何か処理を行った場合、そこで違うconnectionが接続されてしまう&advisory lockがreleaseされてしまう、という問題が発生していました。

で、そのための(一時)対応として、独自のconnection名を使用して、modelのconnectioが使用された場合もlockがreleaseされないよう対応しています。


Fix Active Record changelog [ci skip]

activerecord/CHANGELOG.mdの修正です。

CHANGELOG内の定数名のタイポ、フォーマットの修正を行っています。


Update Migration number from 5.0 to current 6.0 [ci skip]

rails guideの修正です。

各guide内の、マイグレーションファイルのexampleコードのバージョンを6.0に修正しています。


Document the return value of update_all [ci skip]

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

update_allメソッドのdocに戻り値についての説明を追加しています。


Merge pull request #37488 from dylanahsmith/model-adapter-type-lookup

activerecord/lib/active_record/attributes.rbactiverecord/lib/active_record/type.rbの修正です。

attribute type lookup処理にmodelのconnectionのadapter名を使うよう修正しています。

元々はActiveRecord::Base.connectionが使われていたのですが、modelとActiveRecord::Baseのconnectionが違う場合に、正しい値が取得出来ない為。

rails commit log流し読み(2020/01/23)

2020/01/23分のコミットです。

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

activerecord/CHANGELOG.md


Merge pull request #38258 from eileencodes/deprecate-remove-connection

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

handlerのremove_connectionメソッドがdeprecateになりました。今後はremove_connection_poolメソッドを使う必要があります。

メソッドの戻り値が変わる為で、remove_connectionでは戻り値がHashだったのが、remove_connection_poolではDatabaseConfigのオブジェクトが戻り値になっています。


Update list of middleware for API-only in Guides

rails guideのUsing Rails for API-only Applicationsの修正です。

Choosing Middlewareの項のRackミドルウェアの一覧を最新の内容に更新しています。

rails commit log流し読み(2020/01/22)

2020/01/22分のコミットです。

CHANGELOGへの追加はありませんでした。


Fix doc code formatting [ci skip]

activesupport/lib/active_support/deprecation/behaviors.rbactivesupport/lib/active_support/deprecation/reporting.rbのdocの修正です。

doc内のコードフォーマットの指定が誤っている箇所があったのを修正しています。


Merge pull request #38273 from roramirez/figcaption-test

actiontext/test/unit/plain_text_conversion_test.rbの修正です。

Action Textのfigcaption タグについてのテストを追加しています。


Merge pull request #38274 from roramirez/set-as-yes

.github/workflows/rubocop.ymlの修正です。

apt-getライブラリをインストールする際に-yを指定するよう修正しています。


Fix typo in threading and code execution guide [ci skip]

rails guideのThreading and Code Execution in Railsの修正です。

Framework Behaviorの項のタイポを修正しています。


Merge pull request #38267 from kamipo/fix_kwargs_warning_in_activejob

Action Mailer、Active Jobでキーワード引数に関する警告が表示されないよう対応しています。


guides -> active_job -> add que backend [ci skip]

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

Starting the Backendの項にあるbackendのリストにQueを追加しています。

rails commit log流し読み(2020/01/21)

2020/01/21分のコミットです。

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

railties/CHANGELOG.md


Defined attribute should not expand positional hash argument

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

define_proxy_callメソッドで、ruby2_keywordsを使用して、Hash引数の展開が行われないよう修正しています。


Fix warnings for attribute methods with kwargs

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

attribute methods実行時にキーワード引数に関する警告が表示されないよう対応しています。


Add falcon to the available rack servers

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

rails serverコマンドのヘルプに表示するサーバの一覧にfalconを追加しています。


Revert "Merge pull request #38260 from kamipo/fix_kwargs_warning_for_activejob"

Active Job、Action Mailerでキーワード引数に関する警告が表示されないよう対応したMerge pull request #38260 from kamipo/fix_kwargs_warning_for_activejobをRevertしています。この対応だと、(ruby2_keywordかどうかのフラグ分)ストレージに格納する量が増えてしまう、等の懸念がある為。


Cache compiled view templates when running tests by default

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

rails newで生成するconfig/environments/test.rbconfig.action_view.cache_template_loading = trueの指定を追加しています(Springがインストールされるときのみ)。

Springがインストールされている場合、デフォルトでconfig.cache_classesにfalseが指定されるようなっているのですが、この影響でaction_view.cache_template_loadingも無効化されてしまっていました(cache_template_loadingcache_classesの値に依存していた為)。

が、cache_template_loadingを無効化する必要は無い為、明示的にconfigを指定して、Springがインストールされるときもcompiled view templatesのcacheは有効化されるよう修正しています。


Fix syntax typo in changelog

railties/CHANGELOG.mdの修正です。

CHANGELOGのエントリーの、exampleコードのコードハイライト表示用のバッククォートの数が多かったのを修正しています。

rails commit log流し読み(2020/01/20)

2020/01/20分のコミットです。

CHANGELOGへの追加はありませんでした。


Fix typo

activerecord/test/cases/adapters/sqlite3/transaction_test.rbの修正です。

テスト名のタイポを修正しています。


Fix deprecate_methods to not expand positional argument hash

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

deprecate_methodsメソッドで、ruby2_keywordsを使用して、Hash引数の展開が行われないよう修正しています。


Extract message = options[method_name] out of method definition

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

メソッドが定義済み/未定義の場合それぞれで行っていたoptionsからの値の取得処理を、分岐処理前で行うよう修正しています。


add_foreign_key's arguments are compatible (invertable) for remove_foreign_key without customize

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

add_foreign_keyのinvert処理に独自のメソッド(invert_add_foreign_key)が使用されていたのを、remove_foreign_keyメソッドを使用するよう修正しています。add_foreign_keyremove_foreign_keyは同じオプションが指定出来、そのまま利用出来る為。


Invertable methods should have compatible method signature

Active Recordの修正です。

migrationのinvertable methodsの引数指定をキーワード引数で統一するよう修正しています。

invertable methodを実行する際にキーワード引数と非キーワード引数が混在してwarningが出てしまうのを避ける為。


*_for_alter methods should also takes keyword arguments

Active Recordの修正です。

先のキーワード引数の対応同様、*_for_alterメソッドもメソッドの引数指定をキーワード引数に修正しています。


Merge pull request #38260 from kamipo/fix_kwargs_warning_for_activejob

Action Mailer、Active Jobの修正です。

Active Jobでキーワード引数に関する警告が表示されないよう対応しています。