aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract
diff options
context:
space:
mode:
authorbrainopia <brainopia@evilmartians.com>2015-04-02 01:53:49 +0300
committerbrainopia <brainopia@evilmartians.com>2015-04-02 02:07:45 +0300
commitcdac52e124769909b6cb5fce2c4d00e09d21e059 (patch)
treeec495f33893beb08670daf2ce70696e3171e847b /activerecord/lib/active_record/connection_adapters/abstract
parent4ba1376c608cc797c80402a73568744b1c855f67 (diff)
downloadrails-cdac52e124769909b6cb5fce2c4d00e09d21e059.tar.gz
rails-cdac52e124769909b6cb5fce2c4d00e09d21e059.tar.bz2
rails-cdac52e124769909b6cb5fce2c4d00e09d21e059.zip
Prefer string patterns for gsub
https://github.com/ruby/ruby/pull/579 - there is a new optimization since ruby 2.2 Previously regexp patterns were faster (since a string was converted to regexp underneath anyway). But now string patterns are faster and better reflect the purpose. Benchmark.ips do |bm| bm.report('regexp') { 'this is ::a random string'.gsub(/::/, '/') } bm.report('string') { 'this is ::a random string'.gsub('::', '/') } bm.compare! end # string: 753724.4 i/s # regexp: 501443.1 i/s - 1.50x slower
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/quoting.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
index d2840b9498..c228b39c26 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/quoting.rb
@@ -77,7 +77,7 @@ module ActiveRecord
# Quotes a string, escaping any ' (single quote) and \ (backslash)
# characters.
def quote_string(s)
- s.gsub(/\\/, '\&\&').gsub(/'/, "''") # ' (for ruby-mode)
+ s.gsub('\\', '\&\&').gsub("'", "''") # ' (for ruby-mode)
end
# Quotes the column name. Defaults to no quoting.