2014/06/06分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Baseclass becomes! subclass.
bin/rake db:migrate:status
works with legacy migration numbers.ActiveRecord::SchemaMigration
has 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
に関するテストを追加しています。