2015/01/23分のコミットです。
CHANGELOGへの追加はありませんでした。
Speed up normalize_keys
by removing dup step.
actionpack/lib/action_controller/renderer.rb
の修正です。
引数のenv(Hashクラスのデータ)のkeyをupcaseして、新しいHashを作成する、という処理を、envをdupして行っていたのを、transform_keys
メソッドを使用する形に修正しています。transform_keys
を使用した場合の方が28%程早いとの事。
PRより。
require 'benchmark/ips' require 'active_support/core_ext/hash/keys' env = { http_host: 'example.org', https: false, method: 'get', script_name: '', 'rack.input' => '' } Benchmark.ips do |x| x.report('dup + bang transform') { env.dup.tap do |new_env| new_env.keys.each do |key| if key.is_a?(Symbol) new_env[key.to_s.upcase] = new_env.delete(key) end end end } x.report('transform_keys') { env.transform_keys do |key| key.is_a?(Symbol) ? key.to_s.upcase : key end } x.compare! end
Calculating ------------------------------------- dup + bang transform 7.239k i/100ms transform_keys 8.800k i/100ms ------------------------------------------------- dup + bang transform 88.735k (± 3.4%) i/s - 448.818k transform_keys 113.369k (± 3.6%) i/s - 572.000k Comparison: transform_keys: 113369.5 i/s dup + bang transform: 88735.4 i/s - 1.28x slower
fix wording of CSS manifest instructions
railties/lib/rails/generators/rails/app/templates/app/assets/stylesheets/application.css
、
railties/lib/rails/generators/rails/plugin/templates/rails/stylesheets.css
のdocの修正です。
CSS manifestの説明について、同じ内容を繰り返してた箇所を削除しています。
Use 'public_send' over the 'send' method for object's properties.
activerecord/lib/active_record/persistence.rb
の修正です。
update_attribute
、toggle
メソッドでsend
メソッドを使っていたのを、public_send
を使うよう修正しています。objectのプロパティに値を設定する処理で使用していたのですが、プロパティは全てpublicであり、public_send
で問題無い為修正しています。
constants guide: make assumption explicit in an example [closes #18465] [ci skip]
rails guideのAutoloading and Reloading Constants
の修正です。
Moduleをネストした場合のexampleに誤りがあったのを修正しています。