なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2018/10/13)

2018/10/13分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activesupport/CHANGELOG.md


Deprecate Unicode#normalize and Chars#normalize (#34202)

activesupport/lib/active_support/inflector/transliterate.rbactivesupport/lib/active_support/multibyte/chars.rbの修正です。

ActiveSupport::Multibyte::Unicode#normalize及びActiveSuppport::Multibyte::Chars#normalizeがdeprecateになりました。今後はRuby標準のString#unicode_normalizeを使う必要があります。


Improve model attribute accessor method names for backtraces

Active Model、Active Recordの修正です。

attribute accessor methodを定義する際、__temp__xxxxのような一時名を使用してメソッドを定義し、そのメソッドをattributeのaliasとして定義するようにしていました(これはattribute nameがdefに指定出来ない名前の事を考慮して)。

が、Exception#backtraceKernel#callerではaliasでは元の定義されたメソッド名が表示される、かつ、そのメソッド名が__temp__xxxxという名前だとどのメソッドなのかがわからない、という問題がありました。

そのため、attribute nameがdefに直接指定出来るnameだった場合、__temp__を使わずそのままの名前でメソッドを定義するよう修正しています。そのままでは指定出来ないnameの場合、__temp__を使うのは変わらず。