なるようになるブログ

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

rails commit log流し読み(2016/05/31)

2016/05/31分のコミットです。

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

activerecord/CHANGELOG.md


Merge pull request #25175 from kamipo/fix_migration_class_names_in_tests

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

テスト用のmigrationファイルで、ファイル名とクラス名が一致していないクラス名があったのを一致するよう修正しています。


Ensure that instances of ActiveModel::Errors can be marshalled

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

ActiveModel::ErrorsのインスタンスをMarshalにdump出来ない、という問題があったのを修正しています。

MarshalにはデフォルトオブジェクトがProcであるHashはdump出来ない、という仕様があるのですが、ActiveModel::Errorsではまさに一部インスタンス変数でデフォルトオブジェクトにProcを使用しているHashがある為、エラーになっていたようです。

#marshal_dump / #marshal_loadを実装し、dumpする際はデフォルトProcを使用しないようインスタンス変数を加工するよう修正し対応しています。


Exists shouldn't error when used with includes

Active Recordの修正です。

polymorphic associationを使用している場合に、そのassociationをincludesし、exists?メソッドを使用した場合に、エラーになってしまうバグがあったのを修正しています。


Merge pull request #25179 from kamipo/reuse_result_of_associated_table

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

ActiveRecord::PredicateBuilder::AssociationQueryHandler.value_forメソッドで、associated_tableメソッドを複数回呼び出していたのを、値を保持し一度だけ呼び出すよう修正しています。


Move Workshop class definition

actionpack/test/abstract_unit.rb、 actionpack/test/controller/redirect_test.rbの修正です。

グローバルに定義されていたテスト用のクラス(Workshopクラス)を実際に使用するテストファイル(redirect_test.rb)に移動しています。


Bump jbuilder dependency to version 2.5.0 for compatibility fixes

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

デフォルトで生成するGemfileに記載するjbuilderのバージョンを、2.5系を使用するよう修正しています。

Rails API onlyアプリがjbuilder 2.5.0以上でないと動作しない為。参考:Fixes #317. AV::Rendering module should be included after AC::ApiRend… · rails/jbuilder@64c510e


Ensure hashes can be passed to attributes using composed_of

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

composed_ofを使用しているattributeにHashをわたした際に、エラーになってしまうバグがあったのを修正しています。


Do not include default column limit in schema.rb

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

Do not include column limit in schema.rb if it matches the defaultで、limitの値と、型のデフォルトの値とが一致した場合にschemaファイルにlimitの値を出力しないよう修正したのですが、MySQL adapterのtext、binary型についてはlimitの値がschemaファイルに出てしまっていたので、こちらもlimitの値が出ないよう修正しています。


Merge pull request #25207 from rajatbansal93/fix-typos

各docの修正です。

actioncable/README.md、actionmailer/lib/action_mailer/base.rbのdocのグラマーの修正をまとめて行っています。


Test single latest browser version

actioncable/blade.ymlの修正です。

Sauce LabsでAction Cableのテストを行う際、最新バージョンのブラウザを使用するよう修正しています。


Lock Faye version to avoid bug with its Promise polyfill, use mainline blade-sauce_labs_plugin gem

Gemfileの修正です。

GitHubを指定していたblade-sauce_labs_pluginをリリース済みのgemを使用するよう修正、及びfayeのバージョンを1.1.1に固定しています。

最新のfayeだとバグがある為との事です。参考:"Uncaught TypeError: Cannot read property '_state' of undefined" error in Chrome 43 · Issue #394 · faye/faye