2017/03/01分のコミットです。
CHANGELOGへの追加はありませんでした。
Revert “Dupping a CollectionProxy should dup the load_target”
CollectionProxy#dupが、load_targetもdupするよう修正した、Dupping a CollectionProxy should dup the load_targetをrevertしています。
元となったissue(https://github.com/rails/rails/issues/17117)が、dupは元のレコード及びassociationのデータを返すべきである、という指摘だと思い上記対応を行ったのですが、実際は元のデータのコピーを期待していた(Rails 3までの挙動がそうだった)らしい、という事がわかったので一旦revertしたようです。多分。
Merge pull request #28063 from Erol/prioritize-callback-on-action-before-if
activerecord/lib/active_record/transactions.rbの修正です。
transaction callbacks で:onオプションの条件に当てはまらない場合、:ifオプションに指定された値が評価しないよう修正しています。
PRより。
class Topic < ActiveRecord::Base after_commit :do_something, on: [:create, :update], if: :check_something? end topic = Topic.create #=> Calls :check_something? topic.save #=> Calls :check_something? topic.destroy #=> No longer calls :check_something?
Merge pull request #28217 from kamipo/create_join_table_respects_reference_key_type
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rbの修正です。
create_join_tableメソッドで生成される外部キーのtypeのデフォルトがintegerになっていたのを、referencesメソッドを使用するよう修正しています。
Change Default Primary Keys to BIGINTでデフォルトのPKがBIGINTに変更になっており、integerだとエラーになってしまう為。
Merge pull request #28210 from cefigueiredo/improve_required_test
activerecord/test/cases/associations/required_test.rbの修正です。
ActiveRecord::Base.belongs_to_required_by_defaultにtrue, falseをそれぞれ明示的に設定した場合のテストを追加しています。
Merge pull request #28120 from vfonic/plugin-generator-skip-turbolinks-dummy
railties/lib/rails/generators/rails/plugin/plugin_generator.rbの修正です。
plugin / engineが生成するdummy applicationが、デフォルトでturbolinksをskipするよう修正しています。
Merge pull request #25296 from kamipo/use_inspect_for_type_cast_for_schema
Active Record / Active Modelの修正です。
date/time及びdecimalの値をschemaにdumpする際に、他の型同様にinspectメソッドを使用するよう修正しています。
PRより。
Before:
create_table "defaults", force: :cascade do |t| t.string "string_with_default", default: "Hello!" t.date "date_with_default", default: '2014-06-05' t.datetime "datetime_with_default", default: '2014-06-05 07:17:04' t.time "time_with_default", default: '2000-01-01 07:17:04' t.decimal "decimal_with_default", default: 1234567890 end
After:
create_table "defaults", force: :cascade do |t| t.string "string_with_default", default: "Hello!" t.date "date_with_default", default: "2014-06-05" t.datetime "datetime_with_default", default: "2014-06-05 07:17:04" t.time "time_with_default", default: "2000-01-01 07:17:04" t.decimal "decimal_with_default", default: "1234567890" end
Merge pull request #28230 from y-yagi/HOST_to_be_in_uppercase
railties/lib/rails/commands/server/server_command.rbの修正です。
ENV["HOST"]をENV["Host"]にタイポしていたのを修正しています。
Whitelist adapters that support aliases in HAVING clause
activerecord/test/cases/calculations_test.rbの修正です。
having句で指定したaliasをselectに含む場合のテストを、Mysql2Adapter、SQLite3Adapterでのみ実行するよう修正してます。
- skip if current_adapter?(:PostgreSQLAdapter, :OracleAdapter) + skip unless current_adapter?(:Mysql2Adapter, :SQLite3Adapter)
上記挙動はSQL標準ではないため、ホワイトリストでサポートしているDBを明示する方が適切だろう、という事で修正されています。
Use DEFAULT_CIPHER constant in MessageEncryptor
activesupport/lib/active_support/message_encryptor.rbの修正です。
MessageEncryptor#initializeメソッドでcipherのデフォルト値を設定するのにDEFAULT_CIPHER定数を使用するよう修正しています。
Merge pull request #28239 from y-yagi/use_appropriate_type_for_test_framework_option
railties/lib/rails/generators.rbの修正です。
generatorのtest_frameworkオプションのデフォルト値に不正な値(string型なのに、デフォルトにfalseを設定していた)を指定していたのを修正しています。