2017/05/28分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activemodel/CHANGELOG.md
Includes namespace in system test skelton when namespace is specified
railties/lib/rails/generators/test_unit/system/system_generator.rb
の修正です。
system testを生成する際に、namespaceが指定されている場合はファイル名にnamespaceを含むよう修正しています。
Merge pull request #29249 from bradleypriest/numericality-precision-regression
activemodel/lib/active_model/validations/numericality.rb
の修正です。
numericality validatorでDecimal、Floatの値をチェックする際に、schemaに定義されているscaleより大きな値のチェック処理が正しく行われないバグがあったのを修正しています。
Merge pull request #28895 from codeforkjeff/fix-session-keys-and-values-methods
actionpack/lib/action_dispatch/request/session.rb
の修正です。
Request::Session#keys
、#values
メソッドで他のメソッド同様に、値を取得する前にsessionのload処理を行うよう修正しています。
Remove double Thread.current storage.
activesupport/lib/active_support/current_attributes.rb
の修正です。
current threadに複数の値を別々("current_attributes_for_#{name}"
とcurrent_attributes_instances
)のkeyで格納していたのを、current_attributes_instances
のvalueをHashにして、一つのkeyに値をまとめて格納するよう修正しています。
Make reset execution assertions easier to read.
railties/test/application/current_attributes_integration_test.rb
の修正です。
ActiveSupport::CurrentAttributes
のreset処理が行われることを確認するテストで、テスト結果を取得する為に別途結果確認用のスクリプトを別に準備していたのを、Rails.application.executor
を直接呼び出してテストするよう修正しています。
Clear all current instances before a reload.
activesupport/lib/active_support/current_attributes.rb
の修正です。
classのreload時にCurrentAttributes
で保持している情報をresetするよう修正しています。
CurrentAttributes
の子クラスにattributeを追加したり、何か他の変更があった場合、情報がそのままだとpage load時にexceptionが発生してしまう(ActiveSupport::CurrentAttributes.current_instances
は変更前のインスタンスの参照を保持しているから)為。
Bump delayed_job_active_record
gem
Gemfile.lock
の修正です。
delayed_job_active_record
のバージョンを4.1.3に更新しています。
Bring back delayed_job to test list
activejob/Rakefile
の修正です。
Active Jobのテスト対象にdelayed_job
を戻しています。
delayed_job_active_record
4.1.3でRails 5.1をサポートした為。
Merge pull request #29250 from kamipo/remove_unused_association_interpolate
activerecord/lib/active_record/associations/association.rb
の修正です。
使用していないAssociation#interpolate
メソッドを削除しています。
Merge pull request #29197 from kamipo/enable_extending_even_if_scope_returns_nil
activerecord/lib/active_record/scoping/named.rb
の修正です。
scope
がnilを返す場合、Association extensionsが有効化されなかったのを、nilを返す場合も有効化されるよう修正しています。
Merge pull request #29097 from EilisHamilton/fix_uncountable_pluralization_locale
activesupport/lib/active_support/inflector/methods.rb
の修正です。
#singularize
、#pluralize
メソッドでuncountableかどうかをチェックする際に、#singularize
、#pluralize
メソッドに指定されたlocaleを使用するよう修正しています。
元々は#singularize
、#pluralizeが使用する
#apply_inflectionsメソッドでlocaleを使用しない(内部的にデフォルトで
enを使用するようになっているので、
enが使われていた)ようになっていたのですが、
#apply_inflections`メソッドの引数にlocaleを追加し、渡された値を使用するよう対応しています。
Prevent extra current_database
query for encoding
/collation
/ctype
activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
の修正です。
PostgreSQL::SchemaStatements#encoding
、collation
、ctype
メソッドでdatabase名を取得するのにシステム情報関数のcurrent_database()
を直接使用するよう修正しています。余計なqueryを発行しないようにする為。
- select_value("SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname LIKE '#{current_database}'", "SCHEMA") + select_value("SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = current_database()", "SCHEMA")
元の処理だとSELECT current_database()
が実行されてしまっていた為、上記のように修正しています。
Merge pull request #29003 from kamipo/delegate_ast_and_locked_to_arel_explicitly
activerecord/lib/active_record/relation.rb
、
activerecord/lib/active_record/relation/delegation.rb
の修正です。
ActiveRecord::Delegation
moduleでast
、locked
メソッドをarel
にdelegateするよう修正しています。
元々ast
、locked
メソッドはarel
に定義されているメソッドを使う必要があったのですが、method_missing
でarel
のメソッドを呼ぶ出すようになっていました。ただそれだとmodel classにast
、locked
メソッドが定義さてしまった場合に正しくarel
のメソッドが呼ばれない為、明示的にdelegateするようにしています。
Merge pull request #28969 from kamipo/refactor_enum_to_use_value_instead_of_label
activerecord/lib/active_record/enum.rb
の修正です。
enumが生成するscopeでlabel
ではなくvalue
を使用するよう修正しています。
label
のままだと、値がnilのenumが生成するSQLが誤ったSQLになってしまう為。多分。
Remove mentions of deprecated callbacks on ActionDispatch::Callbacks
rails guideのConfiguring Rails Applications
の修正です。
既に存在しないActionDispatch::Callbacks.to_prepare
メソッドについての説明が残ってしまっていたのを削除しています。