about summary refs log tree commit homepage
path: root/lib/mogilefs/backend.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mogilefs/backend.rb')
-rw-r--r--lib/mogilefs/backend.rb18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/mogilefs/backend.rb b/lib/mogilefs/backend.rb
index f4d5b1f..632d6f1 100644
--- a/lib/mogilefs/backend.rb
+++ b/lib/mogilefs/backend.rb
@@ -313,7 +313,7 @@ class MogileFS::Backend
     types.each { |type| opts[type] = 1 }
 
     sockets = @hosts.map do |host|
-      MogileFS::Socket.start(*(host.split(/:/))) rescue nil
+      MogileFS::Socket.start(*(host.split(':'.freeze))) rescue nil
     end
     sockets.compact!
 
@@ -346,7 +346,7 @@ class MogileFS::Backend
       next if dead = @dead[host] and dead[0] > (MogileFS.now - @fail_timeout)
 
       begin
-        addr, port = host.split(/:/)
+        addr, port = host.split(':'.freeze)
         @socket = MogileFS::Socket.tcp(addr, port, @timeout)
         @active_host = host
       rescue SystemCallError, MogileFS::Timeout => err
@@ -365,8 +365,8 @@ class MogileFS::Backend
   # Turns a url params string into a Hash.
   def url_decode(str) # :nodoc:
     rv = {}
-    str.split(/&/).each do |pair|
-      k, v = pair.split(/=/, 2).map! { |x| url_unescape(x) }
+    str.split('&'.freeze).each do |pair|
+      k, v = pair.split('='.freeze, 2).map! { |x| url_unescape(x) }
       rv[k.freeze] = v
     end
     rv
@@ -382,13 +382,15 @@ class MogileFS::Backend
   def url_encode(params) # :nodoc:
     params.map do |k,v|
       "#{url_escape k.to_s}=#{url_escape v.to_s}"
-    end.join("&")
+    end.join('&'.freeze)
   end
 
   # Escapes naughty URL characters.
   if ''.respond_to?(:ord) # Ruby 1.9
     def url_escape(str) # :nodoc:
-      str.gsub(/([^\w\,\-.\/\\\: ])/) { "%%%02x" % $1.ord }.tr(' ', '+')
+      str = str.gsub(/([^\w\,\-.\/\\\: ])/) { "%%%02x".freeze % $1.ord }
+      str.tr!(' '.freeze, '+'.freeze)
+      str
     end
   else # Ruby 1.8
     def url_escape(str) # :nodoc:
@@ -398,6 +400,8 @@ class MogileFS::Backend
 
   # Unescapes naughty URL characters.
   def url_unescape(str) # :nodoc:
-    str.tr('+', ' ').gsub(/%([a-f0-9][a-f0-9])/i) { [$1.to_i(16)].pack 'C' }
+    str = str.tr('+'.freeze, ' '.freeze)
+    str.gsub!(/%([a-f0-9][a-f0-9])/i) { [$1.to_i(16)].pack('C'.freeze) }
+    str
   end
 end