2015/10/02分のコミットです。
CHANGELOGへの追加はありませんでした。
Refactor AS::Callbacks halt config and fix the documentation
Active Supportのcallback処理の修正です。
ActiveSupport::Callbacks::CallbackChain.halt_and_display_warning_on_return_false
をActiveSupport::Callbacks.halt_and_display_warning_on_return_false
に変更、
及び、変更に合わせて各種docの修正を行っています。
Regex fix for mattr_accessor validation
activesupport/lib/active_support/core_ext/module/attribute_accessors.rb
の修正です。
mattr_accessor
のバリデーションに、^
、$
を使用していたのを、\A
、\z
を使用するよう修正しています。改行が含まれている場合に、正しく先頭/終端をチェック出来るようにするため、ですね。
adding test for content type with default charset
actionpack/test/dispatch/response_test.rb
の修正です。
ActionDispatch::Response
のdefault charsetについて確認するテストを追加しています。
Don't set a nil Set-Cookie header when there aren't any cookies. Omit the header.
actionpack/lib/action_dispatch/middleware/cookies.rb
の修正です。
cookiesが存在しない場合に、Set-cookie headerにnilを設定しないよう修正しています。
Rack::Lint
の定義では、cookiesが無い場合、cookie header自体を省略するのが正しい(nilを設定してはいけない)為との事です。
[ci skip] Fix explanation of ActiveModel::Serialization
activemodel/lib/active_model/serialization.rb
のdocの修正です。
ActiveModel::Serialization
をincludeすればActiveModel::Serializers::JSON
も使用出来る旨説明がされていたのですが、
実際はそうではない(ActiveModel::Serializers::JSON
をincludeすればActiveModel::Serialization
も自動でincludeされる)ので、説明を修正しています。
Active Recordのテストの修正です。使用していないscopeを削除しています。
Response#add_header for adding to multi-valued headers like Vary
actionpack/lib/action_dispatch/http/response.rb
の修正です。
ヘッダーに複数の値を設定出来るResponse#add_header
メソッドを追加しています。
response.add_header 'Vary', 'Accept' response.add_header 'Vary', 'Accept-Encoding' response.add_header 'Vary', 'Cookie' response.get_header 'Vary' # => 'Accept,Accept-Encoding,Cookie'
Fix AC::Parameters not being sanitized for query methods.
activemodel/lib/active_model/forbidden_attributes_protection.rb
、
activerecord/lib/active_record/relation/query_methods.rb
の修正です。
Active Recordのquery methodsでsanitize処理を行うようにしています。これにより、permit処理が行われていないActionController::Parametersがquery methodの引数に渡された場合、エラー(ActiveModel::ForbiddenAttributesError
)が発生するようになっています。
Further encapsulate dirty checking on Attribute
Active Recordの修正です。
Attribute
クラスで元々のattributeの値も保持するよう修正しています。 dirtyチェック処理を、Attribute
クラスに集約してしまう為、との事です。
activerecord/lib/active_record/attribute_methods/dirty.rb
の修正です。
MySQLのテストがコケてしまっていたのを対応しています。
reload
メソッドで、before_type_cast
チェックを行っていたのですが、reload
でそれを行うのはおかしいため、処理を修正しています。
MySQLのテストがコケてしまっていたのを対応しています。create!
を呼ぶべき所で、誤ってnew
を呼んでしまっていたのが原因のようです。
Merge pull request #20600 from mtsmfm/xmlschema-should-display-more-than-6-digits
activesupport/lib/active_support/time_with_zone.rb
の修正です。
TimeWithZone#xmlschema
メソッドで、表示される桁数が6桁に制限されていたのを、それ以上表示されるよう対応しています。
# before @twz.xmlschema(12) # => "1999-12-31T19:00:00.123456-05:00" # after @twz.xmlschema(12) # => "1999-12-31T19:00:00.123456000100-05:00"
Build the AttributeMutationTracker
lazily
activerecord/lib/active_record/attribute_methods/dirty.rb
の修正です。
各メソッドの呼び出し時にAttributeMutationTracker
のインスタンスを生成していたのを、AttributeMutationTracker
を使用する際にインスタンスを生成するよう修正しています。