2017/03/04分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Add
ActiveSupport::TimeZone.iso8601parsing method - Add
ActiveSupport::TimeZone.rfc3339parsing method - Add
Time.rfc3339parsing method - Add
rfc3339aliases toxmlschema
- Don’t share options between reference id and type columns
- Fix
rake db:migrate:statuswith subdirectories
Remove node parameter to join_constraints
activerecord/lib/active_record/associations/join_dependency.rb、
activerecord/lib/active_record/associations/join_dependency/join_association.rbの修正です。
JoinAssociation#join_constraintsメソッドから使用されていないnode引数を削除しています。
Move join scopes on to the reflection object
activerecord/lib/active_record/associations/join_dependency/join_association.rb、
activerecord/lib/active_record/reflection.rbの修正です。
JoinAssociation#join_constraintsメソッド内でおこなっていたscopeのjoin処理を、Reflectionクラス(AbstractReflection、PolymorphicReflection等)にjoin処理用のメソッド(#join_scopes)を追加し、そちらで処理を行うよう修正しています。
ask reflection for klass join reflection
activerecord/lib/active_record/associations/join_dependency/join_association.rb、
activerecord/lib/active_record/reflection.rbの修正です。
JoinAssociation#join_constraintsメソッド内でおこなっていたklass scopeのjoin処理を、Reflectionクラスjoin処理用のメソッド(#klass_join_scope)を追加し、そちらで処理を行うよう修正しています。
Remove unnecessary system test code
railties/lib/rails/test_help.rbの修正です。
不要なaction_dispatch/system_test_caseのrequire、及び、ActionDispatch::SystemTestCaseのbefore_setupメソッドを削除しています。
実際にActionDispatch::SystemTestCaseを使用される際にクラスはautoloadされる、かつ、before_setupはActionDispatch::SystemTestCaseの親クラスであるActionDispatch::IntegrationTestで同じ内容を定義済みであり、SystemTestCaseに別途定義する必要は無いため、削除したとの事です。
rails guideのActive Model Basicsの修正です。
includesをincludeにタイポしている箇所があったのを修正しています。
Add ActiveSupport::TimeZone.iso8601 parsing method
activesupport/lib/active_support/values/time_zone.rbの修正です。
ISO 8601形式の文字列をパースする為のiso8601メソッドをActiveSupport::TimeZoneに追加しています。
Time.zone = "Hawaii" Time.zone.iso8601("1999-12-31T14:00:00Z") # => Fri, 31 Dec 1999 04:00:00 HST -10:00 Time.zone.iso8601("1999-12-31") # => Fri, 31 Dec 1999 00:00:00 HST -10:00
Add ActiveSupport::TimeZone.rfc3339 parsing method
activesupport/lib/active_support/values/time_zone.rbの修正です。
RFC 3339形式の文字列をパースする為のrfc3339メソッドをActiveSupport::TimeZoneに追加しています。
Time.zone = "Hawaii" Time.zone.rfc3339("1999-12-31T14:00:00Z") # => Fri, 31 Dec 1999 04:00:00 HST -10:00
Add Time.rfc3339 parsing method
activesupport/lib/active_support/core_ext/time/calculations.rbの修正です。
RFC 3339形式の文字列をパースする為のrfc3339メソッドをこちらはTimeクラスに追加しています。
Time.rfc3339('1999-12-31T14:00:00-10:00') # => 1999-12-31 14:00:00 -1000
戻り値は当然Timeクラスのインスタンスです。
Add rfc3339 aliases to xmlschema
activesupport/lib/active_support/core_ext/time/conversions.rb、
activesupport/lib/active_support/time_with_zone.rbの修正です。
先に追加されたActiveSupport::TimeZone、及びTimeのrfc3339メソッドのaliasとして、xmlschemaメソッドを追加しています。
refactor so there is only one JoinKeys factory method
activerecord/lib/active_record/reflection.rbの修正です。
JoinKeysクラスを生成する為のfactoryメソッドが子クラス(BelongsToReflection)で別途定義されてしまっていたのを、親で定義されているfactoryメソッドを使えるようリファクタリングしています。
join_keys no longer needs a class passed to it
Active Recordの修正です。
Reflectionのjoin_keysメソッドにassociation classを渡していたのを、渡さないで済むようリファクタリングしています。join_keysメソッドでJoinKeysを生成する際は、それぞれのclassで保持している情報をしか使用しておらず、そもそも渡す必要は無かった為、余計な依存関係を無くすようにする為に、削除したようです。
activerecord/lib/active_record/associations/association_scope.rbの修正です。
last_chain_scope、next_chain_scope、add_constraints各メソッドから使用されていないassociation_klass引数を削除しています。
Merge pull request #28265 from 0oneo/association_guide
rails guideのActive Record Associationsの修正です。
The has_one Associationの項にあるmigrationでuniqueオプションの指定の仕方に誤りがあったのを修正しています。
A private method can’t be called with self.
railties/lib/rails/generators/erb.rbの修正です。
filename_with_extensionsメソッドでデフォルト引数を指定する際に、privateメソッドをself.付きで呼ぼうとしてエラーになっていた為、self.を削除しています。
Escapes and edits to configuring guide [ci skip] (#28280)
rails guideのConfiguring Rails Applicationsの修正です。
各項目のフォーマット、グラマーの修正をまとめて行っています。
Don’t share options with a reference type column
activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rbの修正です。
polymorphic reference columnをmigrationで作成する際に、指定されたオプションをid column、type columnに両方に適応したのを、id columnにだけ適応するよう修正しています。
add_reference :posts, :taggable, type: :integer, limit: 2, polymorphic: true
上記のような migrationでpolymorphic columを作成した場合い、limit: 2オプションをがtaggable_typeにも適応されていました。しかし、idとtypeは型が違い、オプションをそのまま適応するのは予想外の振る舞いになる事が多い為、typeにはオプションを適応しないよう修正したようです。
Silence puma startup messages in system test
actionpack/lib/action_dispatch/system_testing/server.rbの修正です。
system testでpumaを起動する際に、pumaのスタートアップメッセージをstdoutに表示しないよう修正しています。
Fx system test example [ci skip]
rails guideのA Guide to Testing Rails Applicationsの修正です。
system_testをgenerateするexampleで、system test nameに不要なtestがあったのを削除、及び、生成されるファイルのexampleが実際生成されるファイルと異なっていたのを修正しています。
[ci skip] Add CHANGELOG entry for #28282
activerecord/CHANGELOG.mdの修正です。
先の polymorphic reference columnの対応について、CHANGELOGにエントリーを追加しています。
Fix rake db:migrate:status with subdirectories
activerecord/lib/active_record/migration.rb、
activerecord/lib/active_record/railties/databases.rakeの修正です。
db:migrate:status タスクが、サブディレクトリにmigrationファイルがある場合にMigration Nameを正しく表示出来ないバグがあったのを修正しています。
Add a changelog entry for #28284 [ci skip]
actionpack/CHANGELOG.mdの修正です。
system testでpumaを起動する際にpumaのスタートアップメッセージをstdoutに表示しないよう修正した対応について、CHANGELOGにエントリーを追加しています。
Fix a wrong pull request reference [ci skip]
actionpack/CHANGELOG.mdの修正です。
先のエントリーを追加した際に、参照するPRのIDに誤りがあったのを修正しています。