2015/04/12分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Rename railties/bin to railties/exe
railties/bin
ディレクトリをrailties/exe
にリネームしています。
bundlerが、実行形式ファイルの置き場所をbin
からexeを推奨するになり、それに伴い
railtiesも
exe`配下に実行形式ファイルを置く用修正したとの事です。bundlerについての詳細はBundler Blog Postご参照。
Missing note on validates_presence_of validation [ci skip]
activerecord/lib/active_record/validations/presence.rb
のdocの修正です。
presence
validatorは指定されたassociationがvalidかどうかのチェックまでは行ってくれないので、associationがvalidかどうかのチェックも行いたいなら、validates_associated
メソッドも使用するよう説明を追加しています。
Remove mention of super old defined_javascript_functions method [ci skip]
rails guideのAction View Overview
の修正です。
既に存在しないdefined_javascript_functions
メソッドの説明を削除しています。
Merge pull request #19566 from aditya-kapoor/remove-dup-doc
actionview/lib/action_view/helpers/url_helper.rb
のdocの修正です。
current_page?
メソッドのdocのexampleに重複している内容があったのを削除しています。
Speed up Levenshtein by 50% and reduce 97% of memory usage
guides/rails_guides/levenshtein.rb
、
railties/lib/rails/generators.rb
の修正です。
レーベンシュタイン距離の計算をしている処理でeach_char
メソッドの代わりにeach_codepoint
メソッドを使用するよう修正しています。
- str1.each_char.each_with_index do |char1,i| + # avoid duplicating an enumerable object in the loop + str2_codepoint_enumerable = str2.each_codepoint + + str1.each_codepoint.with_index do |char1, i| e = i+1 - str2.each_char.each_with_index do |char2,j| + str2_codepoint_enumerable.with_index do |char2, j|
each_char
メソッドは文字毎にStringのオブジェクトを生成するのに対して、each_codepoint
の方はStringのオブジェクトを生成しないらしく、性能向上及びメモリ使用量の削減になるとの事です。コミットログに記載されていた性能測定結果は以下の通りです。
Calculating ------------------------------------- each_char 924.000 i/100ms each_codepoint 1.381k i/100ms ------------------------------------------------- each_char 9.320k (¡Þ 5.1%) i/s - 47.124k each_codepoint 13.857k (¡Þ 3.6%) i/s - 70.431k Comparison: each_codepoint: 13857.4 i/s each_char: 9319.5 i/s - 1.49x slower
String#each_codepoint
メソッドの存在を始めて知りました。文字のコードポイントを取り出す為のメソッドなんですねえ。
rails guideのAction View Overview
の修正です。
既に存在しないregister_javascript_expansion
、register_stylesheet_expansion
メソッドの説明を削除しています。
Fix a few typos and wrap some lines [ci skip]
activejob/lib/active_job/queue_adapters.rb
、
guides/source/association_basics.md
のdocの修正です。
一行80文字に収まるよう適切な位置に改行を追加、及びタイポの修正を行っています。
[ci skip] Update contributing guide
rails guideのContributing to Ruby on Rails
の修正です。
CHANGELOGに新規エントリーを追加する場合、CHANGELOGの先頭に追加するようコントリビュートガイドに記載してあったのですが、
先頭に追加されない事が割とあった為、Updating the CHANGELOG
の項の先頭に説明を移動、及び該当箇所を強調するよう修正しています。