なるようになるブログ

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

rails commit log流し読み(2017/07/05)

2017/07/05分のコミットです。

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

activerecord/CHANGELOG.md


Remove database specific JSON types

Active Recordの修正です。

DB固有のJSON type(MysqlJsonPostgreSQL::OID::Json)を削除しています。

DBに依存しないJSON type(Type::Json)がConsolidate database specific JSON types to Type::Jsonで追加されておりDB固有のJSON typはもう不要な為。


Merge pull request #29653 from kamipo/fix_test_copying_migrations_preserving_magic_comments

Active Recordの修正です。

migrationファイルの先頭にfrozen_string_literal: trueが含まれている場合に、正しくマジックコメントが保持されるよう修正しています。


Commit gemfile.lock

Gemfile.lockの修正です。

Allow the use of Bundler 2.0の対応でGemfile.lockの更新が漏れていたので対応しています。


Load the Parameters configurations on the right time

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

ActionController::Parameters.permit_all_parametersの設定をActionController load時に行うよう修正しています。


Fix end

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

先の対応でendが不足していたのを追加しています。


Merge pull request #29413 from kamipo/fix_association_with_scope_including_joins

Active Recordの修正です。

join処理が含まれるscopeと一緒にassocationをload / preloadした際に、正しいSQLが生成されないバグがあったのを修正しています。


Fix Parameters configuration integration tests

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

先に行われた、ActionController::Parameters.permit_all_parametersの設定をActionController load時に行うよう修正した対応の影響でコケてしまっていたテストがあったのを修正しています。


Use map in delegate so that actual prefixed method names are returned, if using prefix version.

activesupport/lib/active_support/core_ext/module/delegation.rbの修正です。

Module.delegateメソッドでprefixオプションを使用している場合に、prefixがついた状態のメソッド名の一覧を返すよう修正しています。

class MyClass
  private *delegate(:this, :that, :another, to: :some_method)
end

上記のように、delegateメソッドの戻り値のメソッドをまとめてprivateにするときなどに変換後のメソッド名が必要な為、との事です。