2017/02/25分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
ActiveSupport::Gzip.decompress
now checks checksum and length in footer.- In Core Extensions, make
MarshalWithAutoloading#load
pass through the second, optional argument forMarshal#load( source [, proc] )
. - Soft-deprecated the top-level
HashWithIndifferentAcces
constant.ActiveSupport::HashWithIndifferentAccess
should be used instead.
[close #24435] Send user_supplied_options to server
railties/lib/rails/commands/server/server_command.rb
の修正です。
server_options
メソッドが返す値に、ユーザが指定したオプションを格納する為のuser_supplied_options
を追加しています。
Puma等のAPサーバがoptionsの値を取得した際に、その値がrailsが設定しているデフォルトの値なのか、ユーザが指定した値かが判別出来ない(:Port
に3000と設定されていた場合に、railsのデフォルトにより設定された値なのかユーザがconfig等で指定した値なのかがわからない)為、それを判別出来るようにする為に追加したようです。これしかしAPサーバ側にも対応が必要そうな。
Change SystemTestCase.driven_by
to use setup
/teardown
hooks
Action Packの修正です。
SystemTestCase
のdriverの設定を、setup
/ teardown
でやるよう修正しています。
元々はtest caseのload時に設定が行われいたのですが、それだとtest case毎にdriverを切り替える、ということが出来なかった為、setup
/ teardown
で行うよう修正したとの事です。
add optional second argument to ActiveSupport core extension for Marshal#load so it can take a proc
activesupport/lib/active_support/core_ext/marshal.rb
の修正です。
MarshalWithAutoloading#load
にprocを渡せるよう引数を追加しています。渡されたprocはそのままMarshal#load
の第二引数に渡されるようになっています。
Add missing gzip footer check in ActiveSupport::Gzip.decompress
activesupport/lib/active_support/gzip.rb
の修正です。
ActiveSupport::Gzip.decompress
メソッドでfooterのchecksumとlengthの値もチェックするよう修正しています。
def self.decompress(source) - Zlib::GzipReader.new(StringIO.new(source)).read + Zlib::GzipReader.wrap(StringIO.new(source), &:read) end
Fix CHANGELOG entry position [ci skip]
activesupport/CHANGELOG.md
の修正です。
先のActiveSupport::Gzip.decompress
の対応のエントリーの位置がおかし(Rails 5.1.0.beta1
に含まれているような書き方になっていた)かったのを修正しています。
Merge pull request #28157 from robin850/hwia-soft-deprecation
Active Support及びRails guideのA Guide for Upgrading Ruby on Rails
の修正です。
top levelのHashWithIndifferentAccess
がdeprecateになりました。今後はActiveSupport::HashWithIndifferentAccess
を使う必要があります。
諸々の都合上deprecateメッセージは出ないようになっているのですが、将来削除されるようになっているので、ActiveSupport::HashWithIndifferentAccess
を使うよう移行する必要があります。
Merge branch ‘jhawthorn-ruby_2_4_bigdecimal_casting’
activemodel/lib/active_model/type/decimal.rb
の修正です。
BigDecimal
のtype cast時に、不正なStringが渡された場合もエラーにならない(BigDecimal(0)
を返す)よう修正しています。
- when ::Numeric, ::String + when ::Numeric BigDecimal(value, precision || BIGDECIMAL_PRECISION) + when ::String + begin + value.to_d + rescue ArgumentError + BigDecimal(0) + end
BigDecimal
は不正なString(e.g. 1ignore
)が渡された場合もエラーにならないようになっていたのですが、Ruby 2.4.0でエラーをraiseするように挙動が変更された為、対応したとの事です。
なお、Ruby本体(というかbigdecimal
gem)で、to_d
がエラーをraiseしないよう修正が行われています。fixes issue: #13062 - String#to_d is not raising error
tasks/release.rb
の修正です。
railsのリリース用タスクでhashにSHA-1
を使用していたのを、SHA-256
を使用するよう修正しています。
Order array contents to match Relation#first
activerecord/test/cases/scoping/named_scoping_test.rb
の修正です。
Relation#first
メソッドのテストで、必ず期待通りの値がとれるよう、値を取得する前にid
でorder
するよう修正しています。
Fix typo HashWithIndifferentAcces
to HashWithIndifferentAccess
[ci skip]
activesupport/CHANGELOG.md
の修正です。
先のtop levelのHashWithIndifferentAccess
をdeprecateにした対応のエントリーで、HashWithIndifferentAccess
をHashWithIndifferentAcces
にタイポしている箇所があったのを修正しています。
Imporove docs for Rails::AppGenerator [ci skip]
railties/lib/rails/generators/rails/app/app_generator.rb
のdocの修正です。
Rails::AppBuilder
のdocにexampleコードを追加しています。
[ci ckip] Fix example of resolve in CHANGELOG.md
actionpack/CHANGELOG.md
のdocの修正です。
resolve
メソッドのexampleコードに不要なclass
オプションがあったのを削除しています。