X7ROOT File Manager
Current Path:
/opt/alt/ruby19/lib64/ruby/gems/1.9.1/doc/rack-1.6.4/rdoc/Rack
opt
/
alt
/
ruby19
/
lib64
/
ruby
/
gems
/
1.9.1
/
doc
/
rack-1.6.4
/
rdoc
/
Rack
/
??
..
??
Auth
??
Auth.html
(14.25 KB)
??
BodyProxy.html
(21.15 KB)
??
Builder.html
(31.56 KB)
??
Cascade.html
(21.75 KB)
??
Chunked
??
Chunked.html
(18.98 KB)
??
CommonLogger.html
(17.58 KB)
??
ConditionalGet.html
(18.12 KB)
??
Config.html
(15.37 KB)
??
ContentLength.html
(18.03 KB)
??
ContentType.html
(16.66 KB)
??
Deflater
??
Deflater.html
(22.61 KB)
??
Directory.html
(37.8 KB)
??
ETag.html
(19.01 KB)
??
File.html
(30.76 KB)
??
ForwardRequest.html
(16.51 KB)
??
Handler
??
Handler.html
(27.8 KB)
??
Head.html
(16.17 KB)
??
Lint
??
Lint.html
(14.58 KB)
??
Lobster.html
(17.75 KB)
??
Lock.html
(16.71 KB)
??
Logger.html
(15.78 KB)
??
MethodOverride.html
(18.31 KB)
??
Mime.html
(17.65 KB)
??
MockRequest
??
MockRequest.html
(39.91 KB)
??
MockResponse.html
(21.02 KB)
??
Multipart
??
Multipart.html
(18.26 KB)
??
NullLogger.html
(38.82 KB)
??
Recursive.html
(20.18 KB)
??
Reloader
??
Reloader.html
(21.32 KB)
??
Request.html
(100.97 KB)
??
Response
??
Response.html
(35.97 KB)
??
RewindableInput
??
RewindableInput.html
(21.51 KB)
??
Runtime.html
(16.89 KB)
??
Sendfile.html
(23.65 KB)
??
Server
??
Server.html
(35.16 KB)
??
Session
??
Session.html
(13.56 KB)
??
ShowExceptions.html
(26.39 KB)
??
ShowStatus.html
(19.17 KB)
??
Static.html
(29.31 KB)
??
TempfileReaper.html
(16.51 KB)
??
URLMap.html
(23.63 KB)
??
Utils
??
Utils.html
(82.87 KB)
Editing: Handler.html
<?xml version="1.0" encoding="US-ASCII"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta content="text/html; charset=US-ASCII" http-equiv="Content-Type" /> <title>Module: Rack::Handler</title> <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" /> <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script> <script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script> <script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script> <script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script> </head> <body id="top" class="module"> <div id="metadata"> <div id="home-metadata"> <div id="home-section" class="section"> <h3 class="section-header"> <a href="../index.html">Home</a> <a href="../index.html#classes">Classes</a> <a href="../index.html#methods">Methods</a> </h3> </div> </div> <div id="file-metadata"> <div id="file-list-section" class="section"> <h3 class="section-header">In Files</h3> <div class="section-body"> <ul> <li><a href="../lib/rack/handler/webrick_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/webrick.rb">lib/rack/handler/webrick.rb</a></li> <li><a href="../lib/rack/handler/evented_mongrel_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/evented_mongrel.rb">lib/rack/handler/evented_mongrel.rb</a></li> <li><a href="../lib/rack/handler/scgi_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/scgi.rb">lib/rack/handler/scgi.rb</a></li> <li><a href="../lib/rack/handler/mongrel_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/mongrel.rb">lib/rack/handler/mongrel.rb</a></li> <li><a href="../lib/rack/handler/lsws_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/lsws.rb">lib/rack/handler/lsws.rb</a></li> <li><a href="../lib/rack/handler/cgi_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/cgi.rb">lib/rack/handler/cgi.rb</a></li> <li><a href="../lib/rack/handler/fastcgi_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/fastcgi.rb">lib/rack/handler/fastcgi.rb</a></li> <li><a href="../lib/rack/handler/swiftiplied_mongrel_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/swiftiplied_mongrel.rb">lib/rack/handler/swiftiplied_mongrel.rb</a></li> <li><a href="../lib/rack/handler/thin_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler/thin.rb">lib/rack/handler/thin.rb</a></li> <li><a href="../lib/rack/handler_rb.html?TB_iframe=true&height=550&width=785" class="thickbox" title="lib/rack/handler.rb">lib/rack/handler.rb</a></li> </ul> </div> </div> </div> <div id="class-metadata"> <!-- Namespace Contents --> <div id="namespace-list-section" class="section"> <h3 class="section-header">Namespace</h3> <ul class="link-list"> <li><span class="type">CLASS</span> <a href="Handler/CGI.html">Rack::Handler::CGI</a></li> <li><span class="type">CLASS</span> <a href="Handler/EventedMongrel.html">Rack::Handler::EventedMongrel</a></li> <li><span class="type">CLASS</span> <a href="Handler/FastCGI.html">Rack::Handler::FastCGI</a></li> <li><span class="type">CLASS</span> <a href="Handler/LSWS.html">Rack::Handler::LSWS</a></li> <li><span class="type">CLASS</span> <a href="Handler/Mongrel.html">Rack::Handler::Mongrel</a></li> <li><span class="type">CLASS</span> <a href="Handler/SCGI.html">Rack::Handler::SCGI</a></li> <li><span class="type">CLASS</span> <a href="Handler/SwiftipliedMongrel.html">Rack::Handler::SwiftipliedMongrel</a></li> <li><span class="type">CLASS</span> <a href="Handler/Thin.html">Rack::Handler::Thin</a></li> <li><span class="type">CLASS</span> <a href="Handler/WEBrick.html">Rack::Handler::WEBrick</a></li> </ul> </div> <!-- Method Quickref --> <div id="method-list-section" class="section"> <h3 class="section-header">Methods</h3> <ul class="link-list"> <li><a href="#method-c-default">::default</a></li> <li><a href="#method-c-get">::get</a></li> <li><a href="#method-c-pick">::pick</a></li> <li><a href="#method-c-register">::register</a></li> <li><a href="#method-c-try_require">::try_require</a></li> </ul> </div> </div> <div id="project-metadata"> <div id="fileindex-section" class="section project-section"> <h3 class="section-header">Files</h3> <ul> <li class="file"><a href="../KNOWN-ISSUES.html">KNOWN-ISSUES</a></li> </ul> </div> <div id="classindex-section" class="section project-section"> <h3 class="section-header">Class/Module Index <span class="search-toggle"><img src="../images/find.png" height="16" width="16" alt="[+]" title="show/hide quicksearch" /></span></h3> <form action="#" method="get" accept-charset="utf-8" class="initially-hidden"> <fieldset> <legend>Quicksearch</legend> <input type="text" name="quicksearch" value="" class="quicksearch-field" /> </fieldset> </form> <ul class="link-list"> <li><a href="../Rack.html">Rack</a></li> <li><a href="../Rack/Auth.html">Rack::Auth</a></li> <li><a href="../Rack/Auth/AbstractHandler.html">Rack::Auth::AbstractHandler</a></li> <li><a href="../Rack/Auth/AbstractRequest.html">Rack::Auth::AbstractRequest</a></li> <li><a href="../Rack/Auth/Basic.html">Rack::Auth::Basic</a></li> <li><a href="../Rack/Auth/Basic/Request.html">Rack::Auth::Basic::Request</a></li> <li><a href="../Rack/Auth/Digest.html">Rack::Auth::Digest</a></li> <li><a href="../Rack/Auth/Digest/MD5.html">Rack::Auth::Digest::MD5</a></li> <li><a href="../Rack/Auth/Digest/Nonce.html">Rack::Auth::Digest::Nonce</a></li> <li><a href="../Rack/Auth/Digest/Params.html">Rack::Auth::Digest::Params</a></li> <li><a href="../Rack/Auth/Digest/Request.html">Rack::Auth::Digest::Request</a></li> <li><a href="../Rack/BodyProxy.html">Rack::BodyProxy</a></li> <li><a href="../Rack/Builder.html">Rack::Builder</a></li> <li><a href="../Rack/Cascade.html">Rack::Cascade</a></li> <li><a href="../Rack/Chunked.html">Rack::Chunked</a></li> <li><a href="../Rack/Chunked/Body.html">Rack::Chunked::Body</a></li> <li><a href="../Rack/CommonLogger.html">Rack::CommonLogger</a></li> <li><a href="../Rack/ConditionalGet.html">Rack::ConditionalGet</a></li> <li><a href="../Rack/Config.html">Rack::Config</a></li> <li><a href="../Rack/ContentLength.html">Rack::ContentLength</a></li> <li><a href="../Rack/ContentType.html">Rack::ContentType</a></li> <li><a href="../Rack/Deflater.html">Rack::Deflater</a></li> <li><a href="../Rack/Deflater/DeflateStream.html">Rack::Deflater::DeflateStream</a></li> <li><a href="../Rack/Deflater/GzipStream.html">Rack::Deflater::GzipStream</a></li> <li><a href="../Rack/Directory.html">Rack::Directory</a></li> <li><a href="../Rack/ETag.html">Rack::ETag</a></li> <li><a href="../Rack/File.html">Rack::File</a></li> <li><a href="../Rack/ForwardRequest.html">Rack::ForwardRequest</a></li> <li><a href="../Rack/Handler.html">Rack::Handler</a></li> <li><a href="../Rack/Handler/CGI.html">Rack::Handler::CGI</a></li> <li><a href="../Rack/Handler/EventedMongrel.html">Rack::Handler::EventedMongrel</a></li> <li><a href="../Rack/Handler/FastCGI.html">Rack::Handler::FastCGI</a></li> <li><a href="../Rack/Handler/LSWS.html">Rack::Handler::LSWS</a></li> <li><a href="../Rack/Handler/Mongrel.html">Rack::Handler::Mongrel</a></li> <li><a href="../Rack/Handler/SCGI.html">Rack::Handler::SCGI</a></li> <li><a href="../Rack/Handler/SwiftipliedMongrel.html">Rack::Handler::SwiftipliedMongrel</a></li> <li><a href="../Rack/Handler/Thin.html">Rack::Handler::Thin</a></li> <li><a href="../Rack/Handler/WEBrick.html">Rack::Handler::WEBrick</a></li> <li><a href="../Rack/Head.html">Rack::Head</a></li> <li><a href="../Rack/Lint.html">Rack::Lint</a></li> <li><a href="../Rack/Lobster.html">Rack::Lobster</a></li> <li><a href="../Rack/Lock.html">Rack::Lock</a></li> <li><a href="../Rack/Logger.html">Rack::Logger</a></li> <li><a href="../Rack/MethodOverride.html">Rack::MethodOverride</a></li> <li><a href="../Rack/Mime.html">Rack::Mime</a></li> <li><a href="../Rack/MockRequest.html">Rack::MockRequest</a></li> <li><a href="../Rack/MockRequest/FatalWarner.html">Rack::MockRequest::FatalWarner</a></li> <li><a href="../Rack/MockRequest/FatalWarning.html">Rack::MockRequest::FatalWarning</a></li> <li><a href="../Rack/MockResponse.html">Rack::MockResponse</a></li> <li><a href="../Rack/Multipart.html">Rack::Multipart</a></li> <li><a href="../Rack/Multipart/Generator.html">Rack::Multipart::Generator</a></li> <li><a href="../Rack/Multipart/MultipartPartLimitError.html">Rack::Multipart::MultipartPartLimitError</a></li> <li><a href="../Rack/Multipart/Parser.html">Rack::Multipart::Parser</a></li> <li><a href="../Rack/Multipart/UploadedFile.html">Rack::Multipart::UploadedFile</a></li> <li><a href="../Rack/NullLogger.html">Rack::NullLogger</a></li> <li><a href="../Rack/Recursive.html">Rack::Recursive</a></li> <li><a href="../Rack/Reloader.html">Rack::Reloader</a></li> <li><a href="../Rack/Reloader/Stat.html">Rack::Reloader::Stat</a></li> <li><a href="../Rack/Request.html">Rack::Request</a></li> <li><a href="../Rack/Response.html">Rack::Response</a></li> <li><a href="../Rack/Response/Helpers.html">Rack::Response::Helpers</a></li> <li><a href="../Rack/RewindableInput.html">Rack::RewindableInput</a></li> <li><a href="../Rack/RewindableInput/Tempfile.html">Rack::RewindableInput::Tempfile</a></li> <li><a href="../Rack/Runtime.html">Rack::Runtime</a></li> <li><a href="../Rack/Sendfile.html">Rack::Sendfile</a></li> <li><a href="../Rack/Server.html">Rack::Server</a></li> <li><a href="../Rack/Server/Options.html">Rack::Server::Options</a></li> <li><a href="../Rack/Session.html">Rack::Session</a></li> <li><a href="../Rack/Session/Abstract.html">Rack::Session::Abstract</a></li> <li><a href="../Rack/Session/Abstract/ID.html">Rack::Session::Abstract::ID</a></li> <li><a href="../Rack/Session/Abstract/SessionHash.html">Rack::Session::Abstract::SessionHash</a></li> <li><a href="../Rack/Session/Cookie.html">Rack::Session::Cookie</a></li> <li><a href="../Rack/Session/Cookie/Base64.html">Rack::Session::Cookie::Base64</a></li> <li><a href="../Rack/Session/Cookie/Base64/JSON.html">Rack::Session::Cookie::Base64::JSON</a></li> <li><a href="../Rack/Session/Cookie/Base64/Marshal.html">Rack::Session::Cookie::Base64::Marshal</a></li> <li><a href="../Rack/Session/Cookie/Base64/ZipJSON.html">Rack::Session::Cookie::Base64::ZipJSON</a></li> <li><a href="../Rack/Session/Cookie/Identity.html">Rack::Session::Cookie::Identity</a></li> <li><a href="../Rack/Session/Memcache.html">Rack::Session::Memcache</a></li> <li><a href="../Rack/Session/Pool.html">Rack::Session::Pool</a></li> <li><a href="../Rack/ShowExceptions.html">Rack::ShowExceptions</a></li> <li><a href="../Rack/ShowStatus.html">Rack::ShowStatus</a></li> <li><a href="../Rack/Static.html">Rack::Static</a></li> <li><a href="../Rack/TempfileReaper.html">Rack::TempfileReaper</a></li> <li><a href="../Rack/URLMap.html">Rack::URLMap</a></li> <li><a href="../Rack/Utils.html">Rack::Utils</a></li> <li><a href="../Rack/Utils/Context.html">Rack::Utils::Context</a></li> <li><a href="../Rack/Utils/HeaderHash.html">Rack::Utils::HeaderHash</a></li> <li><a href="../Rack/Utils/InvalidParameterError.html">Rack::Utils::InvalidParameterError</a></li> <li><a href="../Rack/Utils/KeySpaceConstrainedParams.html">Rack::Utils::KeySpaceConstrainedParams</a></li> <li><a href="../Rack/Multipart.html">Rack::Utils::Multipart</a></li> <li><a href="../Rack/Utils/OkJson.html">Rack::Utils::OkJson</a></li> <li><a href="../Rack/Utils/OkJson/Error.html">Rack::Utils::OkJson::Error</a></li> <li><a href="../Rack/Utils/OkJson/Utf8Error.html">Rack::Utils::OkJson::Utf8Error</a></li> <li><a href="../Rack/Utils/ParameterTypeError.html">Rack::Utils::ParameterTypeError</a></li> <li><a href="../FCGI.html">FCGI</a></li> <li><a href="../FCGI/Stream.html">FCGI::Stream</a></li> <li><a href="../WEBrick.html">WEBrick</a></li> <li><a href="../WEBrick/HTTPResponse.html">WEBrick::HTTPResponse</a></li> <li><a href="../Object.html">Object</a></li> </ul> <div id="no-class-search-results" style="display: none;">No matching classes.</div> </div> </div> </div> <div id="documentation"> <h1 class="module">Rack::Handler</h1> <div id="description" class="description"> <p><b>Handlers</b> connect web servers with <a href="../Rack.html">Rack</a>.</p> <p><a href="../Rack.html">Rack</a> includes Handlers for <a href="Handler/Thin.html">Thin</a>, <a href="Handler/WEBrick.html">WEBrick</a>, <a href="Handler/FastCGI.html">FastCGI</a>, <a href="Handler/CGI.html">CGI</a>, <a href="Handler/SCGI.html">SCGI</a> and LiteSpeed.</p> <p>Handlers usually are activated by calling <tt>MyHandler.run(myapp)</tt>. A second optional hash can be passed to include server-specific configuration.</p> </div><!-- description --> <div id="5Buntitled-5D" class="documentation-section"> <!-- Methods --> <div id="public-class-method-details" class="method-section section"> <h3 class="section-header">Public Class Methods</h3> <div id="default-method" class="method-detail "> <a name="method-c-default"></a> <div class="method-heading"> <span class="method-name">default</span><span class="method-args">(options = {})</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="default-source"> <pre> <span class="ruby-comment"># File lib/rack/handler.rb, line 46</span> <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">default</span>(<span class="ruby-identifier">options</span> = {}) <span class="ruby-comment"># Guess.</span> <span class="ruby-keyword">if</span> <span class="ruby-constant">ENV</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">"PHP_FCGI_CHILDREN"</span>) <span class="ruby-comment"># We already speak FastCGI</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span> <span class="ruby-value">:File</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span> <span class="ruby-value">:Port</span> <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Handler</span><span class="ruby-operator">::</span><span class="ruby-constant">FastCGI</span> <span class="ruby-keyword">elsif</span> <span class="ruby-constant">ENV</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-constant">REQUEST_METHOD</span>) <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Handler</span><span class="ruby-operator">::</span><span class="ruby-constant">CGI</span> <span class="ruby-keyword">elsif</span> <span class="ruby-constant">ENV</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-string">"RACK_HANDLER"</span>) <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get</span>(<span class="ruby-constant">ENV</span>[<span class="ruby-string">"RACK_HANDLER"</span>]) <span class="ruby-keyword">else</span> <span class="ruby-identifier">pick</span> [<span class="ruby-string">'thin'</span>, <span class="ruby-string">'puma'</span>, <span class="ruby-string">'webrick'</span>] <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span></pre> </div><!-- default-source --> </div> </div><!-- default-method --> <div id="get-method" class="method-detail "> <a name="method-c-get"></a> <div class="method-heading"> <span class="method-name">get</span><span class="method-args">(server)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="get-source"> <pre> <span class="ruby-comment"># File lib/rack/handler.rb, line 11</span> <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">server</span>) <span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">server</span> <span class="ruby-identifier">server</span> = <span class="ruby-identifier">server</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword">unless</span> <span class="ruby-ivar">@handlers</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">server</span> <span class="ruby-identifier">load_error</span> = <span class="ruby-identifier">try_require</span>(<span class="ruby-string">'rack/handler'</span>, <span class="ruby-identifier">server</span>) <span class="ruby-keyword">end</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">klass</span> = <span class="ruby-ivar">@handlers</span>[<span class="ruby-identifier">server</span>] <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">"::"</span>).<span class="ruby-identifier">inject</span>(<span class="ruby-constant">Object</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">o</span>, <span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">x</span>) } <span class="ruby-keyword">else</span> <span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">server</span>, <span class="ruby-keyword">false</span>) <span class="ruby-keyword">end</span> <span class="ruby-keyword">rescue</span> <span class="ruby-constant">NameError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">name_error</span> <span class="ruby-identifier">raise</span> <span class="ruby-identifier">load_error</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">name_error</span> <span class="ruby-keyword">end</span></pre> </div><!-- get-source --> </div> </div><!-- get-method --> <div id="pick-method" class="method-detail "> <a name="method-c-pick"></a> <div class="method-heading"> <span class="method-name">pick</span><span class="method-args">(server_names)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Select first available <a href="../Rack.html">Rack</a> handler given an `Array` of server names. Raises `LoadError` if no handler was found.</p> <pre>> pick ['thin', 'webrick'] => Rack::Handler::WEBrick</pre> <div class="method-source-code" id="pick-source"> <pre> <span class="ruby-comment"># File lib/rack/handler.rb, line 34</span> <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">pick</span>(<span class="ruby-identifier">server_names</span>) <span class="ruby-identifier">server_names</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">server_names</span>) <span class="ruby-identifier">server_names</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">server_name</span><span class="ruby-operator">|</span> <span class="ruby-keyword">begin</span> <span class="ruby-keyword">return</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">server_name</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-keyword">rescue</span> <span class="ruby-constant">LoadError</span>, <span class="ruby-constant">NameError</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">LoadError</span>, <span class="ruby-node">"Couldn't find handler for: #{server_names.join(', ')}."</span> <span class="ruby-keyword">end</span></pre> </div><!-- pick-source --> </div> </div><!-- pick-method --> <div id="register-method" class="method-detail "> <a name="method-c-register"></a> <div class="method-heading"> <span class="method-name">register</span><span class="method-args">(server, klass)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="register-source"> <pre> <span class="ruby-comment"># File lib/rack/handler.rb, line 84</span> <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">register</span>(<span class="ruby-identifier">server</span>, <span class="ruby-identifier">klass</span>) <span class="ruby-ivar">@handlers</span> <span class="ruby-operator">||=</span> {} <span class="ruby-ivar">@handlers</span>[<span class="ruby-identifier">server</span>.<span class="ruby-identifier">to_s</span>] = <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-keyword">end</span></pre> </div><!-- register-source --> </div> </div><!-- register-method --> <div id="try_require-method" class="method-detail "> <a name="method-c-try_require"></a> <div class="method-heading"> <span class="method-name">try_require</span><span class="method-args">(prefix, const_name)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Transforms server-name constants to their canonical form as filenames, then tries to require them but silences the LoadError if not found</p> <p>Naming convention:</p> <pre>Foo # => 'foo' FooBar # => 'foo_bar.rb' FooBAR # => 'foobar.rb' FOObar # => 'foobar.rb' FOOBAR # => 'foobar.rb' FooBarBaz # => 'foo_bar_baz.rb'</pre> <div class="method-source-code" id="try_require-source"> <pre> <span class="ruby-comment"># File lib/rack/handler.rb, line 74</span> <span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">try_require</span>(<span class="ruby-identifier">prefix</span>, <span class="ruby-identifier">const_name</span>) <span class="ruby-identifier">file</span> = <span class="ruby-identifier">const_name</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/^[A-Z]+/</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">pre</span><span class="ruby-operator">|</span> <span class="ruby-identifier">pre</span>.<span class="ruby-identifier">downcase</span> }. <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/[A-Z]+[^A-Z]/</span>, <span class="ruby-string">'_\&'</span>).<span class="ruby-identifier">downcase</span> <span class="ruby-identifier">require</span>(<span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">prefix</span>, <span class="ruby-identifier">file</span>)) <span class="ruby-keyword">nil</span> <span class="ruby-keyword">rescue</span> <span class="ruby-constant">LoadError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">error</span> <span class="ruby-identifier">error</span> <span class="ruby-keyword">end</span></pre> </div><!-- try_require-source --> </div> </div><!-- try_require-method --> </div><!-- public-class-method-details --> </div><!-- 5Buntitled-5D --> </div><!-- documentation --> <div id="validator-badges"> <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 2</small>.</p> </div> </body> </html>
Upload File
Create Folder