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
を設定していた)を指定していたのを修正しています。