2014/06/06分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Baseclass becomes! subclass.
bin/rake db:migrate:statusworks with legacy migration numbers.ActiveRecord::SchemaMigrationhas no primary key.
Merge pull request #15523 from gregmolnar/doc_fix
actionview/lib/action_view/helpers/form_tag_helper.rbのdocの修正です。
select_tagメソッドの:include_blankについての説明を追加しています。:include_blankオプションって、String指定出来たんですね。
select_tag "people", options_from_collection_for_select(@people, "id", "name"), include_blank: "All" # => <select id="people" name="people"><option value="">All</option><option value="1">David</option></select>
Merge pull request #15513 from zenspider/remove_flush_output_buffer
actionview/lib/action_view/helpers/capture_helper.rbの修正です。
テストでしか使われていないCaptureHelper#flush_output_bufferメソッドを削除しています。
Avoid misuse of underscore argument
actionpack/lib/action_controller/metal/strong_parameters.rbの修正です。
permit!メソッドで使用している変数名に_を使用していたのを修正しています。
- Array.wrap(value).each do |_| - _.permit! if _.respond_to? :permit! + Array.wrap(value).each do |v| + v.permit! if v.respond_to? :permit!
_は"使わないパラメータ"を意図として使う事が多いので、これは確かに紛らわしいですね。
Remove optimization that was required with whiny nils
activerecord/lib/active_record/connection_adapters/postgresql_adapter.rbの修正です。
extract_value_from_defaultメソッドでは引数のdefaultがnilだった場合に、early returnしていたのですが、そのnilチェック処理を削除しています。
コミットログ見る限り、引数がnilだった場合に、エラーが出てほしいからのように見えます。合ってるかなあ。
Merge pull request #14971 from versioncontrol/#14785
activerecord/lib/active_record/relation.rbの修正です。
単一テーブル継承を使用している場合に、becomes!メソッドで古クラスに変換出来るよう修正しています。
テストコードから抜粋。
class Topic < ActiveRecord::Base end class Reply < Topic end
assert_instance_of Topic, topics(:first) reply = topics(:first).becomes!(Reply) assert_instance_of Reply, reply reply.save! assert_instance_of Reply, Reply.find(reply.id)
Topicクラスのインスタンスでbecomes!メソッドを呼び出してReplyクラスのインスタンスに変更しています。
慣れないと、ちょっと事故りそうな気もします。
docs, update includes + where example in AR guide. [ci skip]
rails guideのActive Record Query Interfaceページの修正です。
includes + where のexampleを修正しています。
-Article.includes(:comments).where("comments.visible" => true)
+Article.includes(:comments).where(comments: { visible: true })
こんな書き方出来るんですね。知らなかった。
bin/rake db:migrate:status works with legacy migration numbers.
activerecord/lib/active_record/migration.rb、activerecord/lib/active_record/railties/databases.rakeの修正です。
00018_xyz.rbのような古いマイグレーションナンバーがあった時に、rake db:migrate:statusが正常に動作するよう修正しています。
assert_equal "118", ActiveRecord::SchemaMigration.normalize_migration_number("0000118")
assert_equal "002", ActiveRecord::SchemaMigration.normalize_migration_number("2")
assert_equal "017", ActiveRecord::SchemaMigration.normalize_migration_number("0017")
3桁に丸めるようにしています。
Merge pull request #15540 from nbibler/http-headers-set
actionpack/lib/action_dispatch/http/headers.rbの修正です。
CGI_VARIABLESをfreezeするよう修正しています。CGI_VARIABLESを編集出来ないようにする為ですかね。
Merge pull request #15503 from sgrif/sg-json-hstore-storage
ActiveRecordの修正です。hstore/jsonの取り扱いを修正しています。
test refactor, don't hardcode primary_key_prefix_type default.
activerecord/test/cases/primary_keys_test.rbの修正です。
テストの中で変更していたActiveRecord::Base.primary_key_prefix_typeをテスト終了時に元の値に戻すよう修正しています。
test refactor, don't hardcode default for table_name_prefix.
activerecord/test/cases/ar_schema_test.rbの修正です。
テストの中で変更していたActiveRecord::Base.table_name_prefixをテスト終了時に元の値に戻すよう修正しています。
ActiveRecord::SchemaMigration has no primary key.
activerecord/lib/active_record/schema_migration.rbの修正です・
ActiveRecord::Base.primary_key_prefix_typeに:table_name_with_underscore等の値を設定しても、ActiveRecord::SchemaMigration.primary_keyがnilを返すよう修正しています。
primary_key_prefix_typeの設定によって返す値がおかしくなってしまっていたようです。
credit JoseLuis Torres for #15051. [JoseLuis Torres]
activerecord/CHANGELOG.mdの修正です。
creditにJoseLuis Torresを追加。
Add missing test cases for schema dumping defaults
activerecord/test/cases/schema_dumper_test.rbの修正です。
dump_table_schemaに関するテストを追加しています。