なるようになるブログ

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

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

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

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


Handle blank inserts like update_all; raise upfront.

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

insert_allに空の配列を指定した場合に、値を無視していたのをArgumentErrorをraiseするよう修正しています。update_allと振る舞いを合わせる為。


Fix test case name after file extraction

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

insert_allに関するテストのテスト名がPersistenceTestになっていたのをInsertAllTestに修正しています。


Add some whitespace for readability.

activerecord/lib/active_record/insert_all.rbactiverecord/test/cases/insert_all_test.rbの修正です。

各箇所に適切に改行を追加しています。


Merge pull request #35497 from eileencodes/parse-yaml-without-erb-for-rake-tasks

activerecord/lib/active_record/tasks/database_tasks.rbrailties/lib/rails/application/configuration.rbの修正です。

複数DB用のtaskをロードする際に、database.ymlをERBのパース無しで読み込むよう修正しています。

元々はdatabase.ymlをERBのパースありで読み込んでいたのですが、それだと、database.ymlでenvに依存した値を定義している場合(e.g. some_config: <%= Rails.configuration.some_config %>)に、パース処理でエラーになってしまう(rake task構築時にenvはまだ読み込まれていない為)為、taskロード時にはERBのパース処理は行わないよう修正しています。


Bump Zeitwerk

activesupport/activesupport.gemspecの修正です。

zeitwerkのバージョンを>= 1.3.2に修正しています。


Update links and code examples in the guides to use HTTPS where the host supports it.

rails guideの修正です。

各箇所のリンクを可能な限りHTTPSに修正しています。


Merge pull request #35498 from sobrinho/fix-including-excluding-flatten

activesupport/lib/active_support/core_ext/array/access.rbactivesupport/lib/active_support/core_ext/enumerable.rbの修正です。

Array#including, Array#excluding, Enumerable#excludingで引数に対してflattenを呼び出す際に、再帰の深さに1を指定するようにしています。


[ci skip]Fix typo: constaint -> constraint

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

constraintconstaintにタイポしていたのを修正しています。


Move all Arel constructions from uniqueness validator into connection adapter

Active Recordの修正です。

uniqueness validatorで行っていたArelの生成処理をconnection adapter内に移動しています。


Just inherit ForeignKeyChangeColumnTest for with prefix/suffix tests

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

foreign key columnの変更処理に関するテストをmoduleにして、prefix/suffixを指定したテストで共有していたのを、classに変更してそれを継承する形に修正しています。


Correct the limitation about order with distinct in the guide

rails guideのActive Record Query Interfaceの修正です。

Orderingの項にある、orderdistinctを一緒に使用した場合orderにはdistinctで指定されているfieldしか指定出来ないという説明が、MySQLでだけ起こるという説明になっていたのを ほとんどのDBで起こる旨説明を修正しています。


[ci skip] Fix typos

actionpack/lib/action_controller/renderer.rbactionview/test/ujs/public/vendor/jquery-2.2.0.jsのdocの修正です。

各箇所のタイポを修正しています。


Merge pull request #35508 from cjlarose/add-explicit-require-in-actiontext-initializer

actiontext/app/helpers/action_text/content_helper.rbの修正です。

不足していたrails-html-sanitizerのrequireを追加しています。


Fix incorrect identifier quoting [ci skip]

rails guideのActive Record Query Interfaceactiverecord/lib/active_record/relation/query_methods.rbのdocの修正です。

selectメソッドを使用した際に発行されるSQLの例で、識別子のクォートが実際に生成されるSQLと異なっていたのを修正しています。


Refactor AR::Querying to extract QUERYING_METHODS list

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

ActiveRecord::Querying moduleでrelationにdelegateするメソッドの一覧を定数に切り出しています。テストでの確認をしやすくする為。


Merge pull request #35503 from samjohn/cannot-grammar-correction

各箇所のcan notcannotに修正しています。

どちらも綴りとしては間違えてないのですが、cannotの方が一般的な為とのことです。

参考: Cannot or Can Not?


Delegate only query method to relation as with except

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

relationにdelegateするメソッドの一覧にonlyを追加しています。

exceptと似たような挙動をするメソッドなのですが、exceptは元々delegate対象に含まれており、振る舞いを合わせる為onlyもrelationにdelegateするようにしています。


Update racc to latest version

Gemfile.lockの修正です。

racc gemのバージョンを1.4.15に更新しています。Ruby 2.7でコンパイルする為の修正が含まれている為。


Learn more about inflections[ci skip]

rails guideのActive Support Core Extensionsの修正です。

Inflectionsの項にある、config/initializers/inflections.rbについての説明の言い回しを修正しています。


Corrected execution result of Enumerable#sum [ci skip]

rails guideのActive Support Core Extensionsの修正です。

Enumerable#sumメソッドのexampleの実行結果が実際の実行結果と異なっていたのを修正しています。


Update multiline? sample code [ci skip]

rails guideのActive Support Core Extensionsの修正です。

Regexp#multiline?メソッドの書かれているRails内での使用例が、既に存在していないメソッドだった為、現在まだあるメソッドを例に使用するよう修正しています。