Submit
Path:
~
/
/
opt
/
cpanel
/
ea-ruby27
/
root
/
usr
/
share
/
gems
/
doc
/
rack-2.2.17
/
rdoc
/
Rack
/
QueryParser
/
File Content:
Params.html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>class Rack::QueryParser::Params - rack-2.2.17 Documentation</title> <script type="text/javascript"> var rdoc_rel_prefix = "../../"; var index_rel_prefix = "../../"; </script> <script src="../../js/navigation.js" defer></script> <script src="../../js/search.js" defer></script> <script src="../../js/search_index.js" defer></script> <script src="../../js/searcher.js" defer></script> <script src="../../js/darkfish.js" defer></script> <link href="../../css/fonts.css" rel="stylesheet"> <link href="../../css/rdoc.css" rel="stylesheet"> <body id="top" role="document" class="class"> <nav role="navigation"> <div id="project-navigation"> <div id="home-section" role="region" title="Quick navigation" class="nav-section"> <h2> <a href="../../index.html" rel="home">Home</a> </h2> <div id="table-of-contents-navigation"> <a href="../../table_of_contents.html#pages">Pages</a> <a href="../../table_of_contents.html#classes">Classes</a> <a href="../../table_of_contents.html#methods">Methods</a> </div> </div> <div id="search-section" role="search" class="project-section initially-hidden"> <form action="#" method="get" accept-charset="utf-8"> <div id="search-field-wrapper"> <input id="search-field" role="combobox" aria-label="Search" aria-autocomplete="list" aria-controls="search-results" type="text" name="search" placeholder="Search" spellcheck="false" title="Type to search, Up and Down to navigate, Enter to load"> </div> <ul id="search-results" aria-label="Search Results" aria-busy="false" aria-expanded="false" aria-atomic="false" class="initially-hidden"></ul> </form> </div> </div> <div id="class-metadata"> <div id="parent-class-section" class="nav-section"> <h3>Parent</h3> <p class="link">Object </div> <!-- Method Quickref --> <div id="method-list-section" class="nav-section"> <h3>Methods</h3> <ul class="link-list" role="directory"> <li ><a href="#method-c-new">::new</a> <li ><a href="#method-i-5B-5D">#[]</a> <li ><a href="#method-i-5B-5D-3D">#[]=</a> <li ><a href="#method-i-key-3F">#key?</a> <li ><a href="#method-i-to_h">#to_h</a> <li ><a href="#method-i-to_params_hash">#to_params_hash</a> </ul> </div> </div> </nav> <main role="main" aria-labelledby="class-Rack::QueryParser::Params"> <h1 id="class-Rack::QueryParser::Params" class="class"> class Rack::QueryParser::Params </h1> <section class="description"> </section> <section id="5Buntitled-5D" class="documentation-section"> <section id="public-class-5Buntitled-5D-method-details" class="method-section"> <header> <h3>Public Class Methods</h3> </header> <div id="method-c-new" class="method-detail "> <div class="method-heading"> <span class="method-name">new</span><span class="method-args">(limit)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="new-source"> <pre><span class="ruby-comment"># File lib/rack/query_parser.rb, line 206</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">limit</span>) <span class="ruby-ivar">@limit</span> = <span class="ruby-identifier">limit</span> <span class="ruby-ivar">@size</span> = <span class="ruby-value">0</span> <span class="ruby-ivar">@params</span> = {} <span class="ruby-keyword">end</span></pre> </div> </div> </div> </section> <section id="public-instance-5Buntitled-5D-method-details" class="method-section"> <header> <h3>Public Instance Methods</h3> </header> <div id="method-i-5B-5D" class="method-detail "> <div class="method-heading"> <span class="method-name">[]</span><span class="method-args">(key)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="5B-5D-source"> <pre><span class="ruby-comment"># File lib/rack/query_parser.rb, line 212</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">[]</span>(<span class="ruby-identifier">key</span>) <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">key</span>] <span class="ruby-keyword">end</span></pre> </div> </div> </div> <div id="method-i-5B-5D-3D" class="method-detail "> <div class="method-heading"> <span class="method-name">[]=</span><span class="method-args">(key, value)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="5B-5D-3D-source"> <pre><span class="ruby-comment"># File lib/rack/query_parser.rb, line 216</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">[]=</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>) <span class="ruby-ivar">@size</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">key</span>.<span class="ruby-identifier">size</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">key</span> <span class="ruby-operator">&&</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@params</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">key</span>) <span class="ruby-identifier">raise</span> <span class="ruby-constant">ParamsTooDeepError</span>, <span class="ruby-string">'exceeded available parameter key space'</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@size</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@limit</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span> <span class="ruby-keyword">end</span></pre> </div> </div> </div> <div id="method-i-key-3F" class="method-detail "> <div class="method-heading"> <span class="method-name">key?</span><span class="method-args">(key)</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <div class="method-source-code" id="key-3F-source"> <pre><span class="ruby-comment"># File lib/rack/query_parser.rb, line 222</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">key?</span>(<span class="ruby-identifier">key</span>) <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">key</span>) <span class="ruby-keyword">end</span></pre> </div> </div> </div> <div id="method-i-to_h" class="method-detail "> <div class="method-heading"> <span class="method-name">to_h</span><span class="method-args">()</span> <span class="method-click-advice">click to toggle source</span> </div> <div class="method-description"> <p>Recursively unwraps nested `Params` objects and constructs an object of the same shape, but using the objects' internal representations (Ruby hashes) in place of the objects. The result is a hash consisting purely of Ruby primitives.</p> <pre>Mutation warning! 1. This method mutates the internal representation of the `Params` objects in order to save object allocations. 2. The value you get back is a reference to the internal hash representation, not a copy. 3. Because the `Params` object's internal representation is mutable through the `#[]=` method, it is not thread safe. The result of getting the hash representation while another thread is adding a key to it is non-deterministic.</pre> <div class="method-source-code" id="to_h-source"> <pre><span class="ruby-comment"># File lib/rack/query_parser.rb, line 244</span> <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_h</span> <span class="ruby-ivar">@params</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span><span class="ruby-operator">|</span> <span class="ruby-keyword">case</span> <span class="ruby-identifier">value</span> <span class="ruby-keyword">when</span> <span class="ruby-keyword">self</span> <span class="ruby-comment"># Handle circular references gracefully.</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-ivar">@params</span> <span class="ruby-keyword">when</span> <span class="ruby-constant">Params</span> <span class="ruby-ivar">@params</span>[<span class="ruby-identifier">key</span>] = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_h</span> <span class="ruby-keyword">when</span> <span class="ruby-constant">Array</span> <span class="ruby-identifier">value</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">kind_of?</span>(<span class="ruby-constant">Params</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_h</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">v</span> } <span class="ruby-keyword">else</span> <span class="ruby-comment"># Ignore anything that is not a `Params` object or</span> <span class="ruby-comment"># a collection that can contain one.</span> <span class="ruby-keyword">end</span> <span class="ruby-keyword">end</span> <span class="ruby-ivar">@params</span> <span class="ruby-keyword">end</span></pre> </div> </div> <div class="aliases"> Also aliased as: <a href="Params.html#method-i-to_params_hash">to_params_hash</a> </div> </div> <div id="method-i-to_params_hash" class="method-detail method-alias"> <div class="method-heading"> <span class="method-name">to_params_hash</span><span class="method-args">()</span> </div> <div class="method-description"> </div> <div class="aliases"> Alias for: <a href="Params.html#method-i-to_h">to_h</a> </div> </div> </section> </section> </main> <footer id="validator-badges" role="contentinfo"> <p><a href="https://validator.w3.org/check/referer">Validate</a> <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.1.1. <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>. </footer>
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
InvalidParameterError.html
2928 bytes
0644
ParameterTypeError.html
2892 bytes
0644
Params.html
12233 bytes
0644
ParamsTooDeepError.html
2850 bytes
0644
QueryLimitError.html
2838 bytes
0644
N4ST4R_ID | Naxtarrr