2018/10/21分のコミットです。
CHANGELOGへの追加はありませんでした。
Merge pull request #34265 from olivierlacan/flexbox-guides-index https://github.com/rails/rails/commit/5943a5562eeea16afc5b809a1fcdd497ccec9465
Rails Guideの修正です。
インデックスの表示flexbowを使用するよう修正、リリース日の表示がYYYY-MM-DD
フォーマットだったのをMonth Year
フォーマットに修正、等を行っています。
before
after
Use String#truncate_bytes inside Multibyte::Chars#limit
activesupport/lib/active_support/multibyte/chars.rb
の修正です。
Multibyte::Chars#limit
メソッドで文字をスライスするのに独自のロジックで行っていたのを、String#truncate_bytes
を使用するよう修正しています。
Add new exception message to datetime from hash cast
activemodel/lib/active_model/type/date_time.rb
の修正です。
Type::DateTime
classのcast処理で、castする値がHashだった場合、かつ、必須のkeyが無い場合に表示するエラーメッセージに、エラーの内容の詳細を含むよう修正しています。
# before ActiveModel::Type::DateTime.new.cast(a: 1) # => ArgumentError (1) # after ActiveModel::Type::DateTime.new.cast(a: 1) # => ArgumentError (Provided hash {:a=>1} doesn't contain necessary keys: [1, 2, 3])
Reduce string allocations in read/write_attribute
activerecord/lib/active_record/attribute_methods/read.rb
、
activerecord/lib/active_record/attribute_methods/write.rb
の修正です。
read_attribute
、write_attribute
メソッドで、メソッドの最初で引数のattr_name
をStringに変換するよう修正しています。
元々は最初にattribute_alias?
メソッドでチェック及びattribute_alias
でaliasを取得してからStringに変換を行っていたのですが、attr_name
がSymbolの場合左記のメソッドそれぞれでStringへの変換処理を発生してしまう為、不要なStringへの変換処理を減らすようにする為に呼び出し元で先に変換するようにしています。