about summary refs log tree commit homepage
path: root/lib/unicorn/const.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-04-23 21:20:03 -0700
committerEric Wong <normalperson@yhbt.net>2009-04-23 21:20:03 -0700
commit5facf207004a805d0b0836a6605bb02ab5ac77da (patch)
treefc85ce61c9aa545381a61ba9f003ff91bc9d3e02 /lib/unicorn/const.rb
parenta9fa99940cd6d6f8572f83d6489d402c09b0cf93 (diff)
downloadunicorn-5facf207004a805d0b0836a6605bb02ab5ac77da.tar.gz
Avoid creating garbage every time we lookup the status code
along with the message.  Also, we can use global const arrays
for a little extra performance because we only write one-at-a
time

Looking at MRI 1.8, Array#join with an empty string argument is
slightly better because it skips an append for every iteration.
Diffstat (limited to 'lib/unicorn/const.rb')
-rw-r--r--lib/unicorn/const.rb3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/unicorn/const.rb b/lib/unicorn/const.rb
index c05d333..c31b8e3 100644
--- a/lib/unicorn/const.rb
+++ b/lib/unicorn/const.rb
@@ -42,6 +42,9 @@ module Unicorn
     503  => 'Service Unavailable',
     504  => 'Gateway Time-out',
     505  => 'HTTP Version not supported'
+  }.inject({}) { |hash,(code,msg)|
+      hash[code] = "#{code} #{msg}"
+      hash
   }
 
   # Frequently used constants when constructing requests or responses.  Many times