2019/03/28分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Merge pull request #35556 from bdewater/fast-secure-compare
activesupport/lib/active_support/security_utils.rb
の修正です。
ActiveSupport::SecurityUtils.secure_compare
メソッドで引数を変換するのにDigest::SHA256.hexdigest
を使用していたのを、Digest::SHA256.digest
を使用するよう修正しています。
16進文字列に変換する必要が無い、かつ、Digest::SHA256.digest
の方が高速な為。
Merge pull request #35496 from bogdan/right-preloading
Active Recordの修正です。
既にロード済みのassociationが、associationのpreloadでリセットされてしまうケースがあったのを、利用可能なassociationについてはリセットせず使い回すよう修正しています。
Merge pull request #35236 from renuo/fix-30467
actionpack/lib/action_dispatch/routing/mapper.rb
の修正です。
resourceのparam
オプションに不正なコロン(:
)が含まれている場合、ArgumentError
をraiseするよう修正しています。
Remove :all symbol from Mime::ALL
actionpack/lib/action_dispatch/http/mime_type.rb
の修正です。
Mime::ALL
から:all
というsymbolを削除しています。
.all
という拡張子を使用する事もないし、Mime[:all]
も動作しなく、含んでおく必要が無いため削除したとの事です。
Fix bug in Range comparisons when comparing to excluded-end Range
activesupport/lib/active_support/core_ext/range/compare_range.rb
の修正です。
Rangeの比較処理で、終端を除外したRange(e.g. 1...10
)に対するチェック処理が正しく動作しないバグがあったのを修正しています。
# Before (1..10).cover?(1...11) # => false # After (1..10).cover?(1...11) # => true
[ci skip] Fixed testing guides typo fourty
-> forty
rails guideのTesting Rails Applications
の修正です。
fourty
をforty
に修正しています。
Merge pull request #34405 from shugo/safe_buffer_backref_fix
activesupport/lib/active_support/core_ext/string/output_safety.rb
の修正です。
ActiveSupport::SafeBuffer
でsub
, sub!
, gsub
, gsub!
を使用した場合にback referencesを設定するようにしています。ActiveSupport::SafeBuffer
でgsub
等のメソッドをブロックでを指定して使用した場合に、ブロック内で$1
が参照出来ない、という問題があったのがこの対応により解決されています。
# Before "foo123".html_safe.sub(/([a-z]+)([0-9]+)/) { p $1 } #=> nil # After "foo123".html_safe.sub(/([a-z]+)([0-9]+)/) { p $1 } #=> "foo"
$1
はコンテキストが変わってしまうと参照出来なくなる、かつActiveSupport::SafeBuffer
はString
クラスのメソッドのラッパーをしている為この問題が発生していたのですが、Proc#binding
で呼び出し元のコンテキストを得てback referencesを設定(block.binding.eval("proc { |m| $~ = m }").call(match_data)
)するようにして対応しています。