document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/pygment_trac.css" />');
document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/embed.css" />');
document.write('<div class="flowcoder_post flowcoder_clearfix">');
document.write('<div class="flowcoder_posttitle"><a href=\"http://flowcoder.com/95\">Rack.env and Rack.env.development? (& etc.) for Rack apps<\/a></div>');
document.write('<div class="flowcoder_postbody flowcoder_syntax"><div class=\"highlight\"><pre><span class=\"c1\"># Adds pretty reader and query methods for ENV[&#39;RACK_ENV&#39;] value.<\/span>\n<span class=\"c1\"># A copy of Rails&#39; Rails.env for Rack apps.<\/span>\n<span class=\"c1\">#<\/span>\n<span class=\"c1\"># Examples:<\/span>\n<span class=\"c1\">#<\/span>\n<span class=\"c1\">#   Rack.env                # =&gt; &quot;development&quot;<\/span>\n<span class=\"c1\">#   Rack.env.development?   # =&gt; true<\/span>\n<span class=\"k\">module<\/span> <span class=\"nn\">Rack<\/span>\n  <span class=\"k\">def<\/span> <span class=\"nc\">self<\/span><span class=\"o\">.<\/span><span class=\"nf\">env<\/span>\n    <span class=\"vi\">@env<\/span> <span class=\"o\">||=<\/span> <span class=\"no\">Utils<\/span><span class=\"o\">::<\/span><span class=\"no\">StringInquirer<\/span><span class=\"o\">.<\/span><span class=\"n\">new<\/span><span class=\"p\">(<\/span><span class=\"no\">ENV<\/span><span class=\"o\">[<\/span><span class=\"s2\">&quot;RACK_ENV&quot;<\/span><span class=\"o\">]<\/span> <span class=\"o\">||<\/span> <span class=\"s2\">&quot;development&quot;<\/span><span class=\"p\">)<\/span>\n  <span class=\"k\">end<\/span>\n\n  <span class=\"k\">module<\/span> <span class=\"nn\">Utils<\/span>\n    <span class=\"c1\"># TAKEN FROM ACTIVE SUPPORT<\/span>\n    <span class=\"k\">class<\/span> <span class=\"nc\">StringInquirer<\/span> <span class=\"o\">&lt;<\/span> <span class=\"nb\">String<\/span>\n      <span class=\"k\">def<\/span> <span class=\"nf\">method_missing<\/span><span class=\"p\">(<\/span><span class=\"n\">method_name<\/span><span class=\"p\">,<\/span> <span class=\"o\">*<\/span><span class=\"n\">arguments<\/span><span class=\"p\">)<\/span>\n        <span class=\"k\">if<\/span> <span class=\"n\">method_name<\/span><span class=\"o\">.<\/span><span class=\"n\">to_s<\/span><span class=\"o\">[-<\/span><span class=\"mi\">1<\/span><span class=\"p\">,<\/span><span class=\"mi\">1<\/span><span class=\"o\">]<\/span> <span class=\"o\">==<\/span> <span class=\"s2\">&quot;?&quot;<\/span>\n          <span class=\"nb\">self<\/span> <span class=\"o\">==<\/span> <span class=\"n\">method_name<\/span><span class=\"o\">.<\/span><span class=\"n\">to_s<\/span><span class=\"o\">[<\/span><span class=\"mi\">0<\/span><span class=\"o\">.<\/span><span class=\"n\">.<\/span><span class=\"o\">-<\/span><span class=\"mi\">2<\/span><span class=\"o\">]<\/span>\n        <span class=\"k\">else<\/span>\n          <span class=\"k\">super<\/span>\n        <span class=\"k\">end<\/span>\n      <span class=\"k\">end<\/span>\n    <span class=\"k\">end<\/span>\n  <span class=\"k\">end<\/span>\n<span class=\"k\">end<\/span>\n<\/pre><\/div>\n</div>');
document.write('<div class="flowcoder_bottombar flowcoder_clearfix">');
document.write('<div class="flowcoder_postedby">Posted by <a href=\"http://flowcoder.com/gbuesing\">gbuesing<\/a> on <a href=\"http://flowcoder.com/\">Flowcoder<\/a></div>');
document.write('<div class="flowcoder_viewraw"><a href=\"http://flowcoder.com/95.txt\">view raw<\/a></div>');
document.write('</div></div>');