Ticket #10717: minor_performance_improvements_to_keys_ext.diff
| File minor_performance_improvements_to_keys_ext.diff, 1.1 kB (added by chuyeow, 8 months ago) |
|---|
-
activesupport/lib/active_support/core_ext/hash/keys.rb
old new 13 13 # Destructively convert all keys to strings. 14 14 def stringify_keys! 15 15 keys.each do |key| 16 unless key.class.to_s == "String" # weird hack to make the tests run when string_ext_test.rb is also running 17 self[key.to_s] = self[key] 18 delete(key) 19 end 16 self[key.to_s] = delete(key) 20 17 end 21 18 self 22 19 end … … 31 28 32 29 # Destructively convert all keys to symbols. 33 30 def symbolize_keys! 34 self.replace(self.symbolize_keys) 31 keys.each do |key| 32 sym_key = (key.to_sym rescue key) || key 33 self[sym_key] = delete(key) unless key == sym_key 34 end 35 self 35 36 end 36 37 37 38 alias_method :to_options, :symbolize_keys