<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Class: String</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" /> <script type="text/javascript"> // <![CDATA[ function popupCode( url ) { window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") } function toggleCode( id ) { if ( document.getElementById ) elem = document.getElementById( id ); else if ( document.all ) elem = eval( "document.all." + id ); else return false; elemStyle = elem.style; if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else { elemStyle.display = "none" } return true; } // Make codeblocks hidden by default document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" ) // ]]> </script> </head> <body> <div id="classHeader"> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>Class</strong></td> <td class="class-name-in-header">String</td> </tr> <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> <a href="../files/lib/utility/utility_rb.html"> lib/utility/utility.rb </a> <br /> </td> </tr> <tr class="top-aligned-row"> <td><strong>Parent:</strong></td> <td> Object </td> </tr> </table> </div> <!-- banner header --> <div id="bodyContent"> <div id="contextContent"> <div id="diagram"> <map id="map" name="map"> <area shape="rect" coords="123,29,195,77" href="String.html" alt="String " /> <area shape="rect" coords="16,16,109,65" href="Utility.html" alt="Utility " /> </map> <img src="../dot/f_59.png" usemap="#map" border="0" alt="dot/f_59.png"> </div> </div> <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> <a href="#M000304">encrypt</a> <a href="#M000302">is_match?</a> <a href="#M000303">is_passwd?</a> <a href="#M000301">is_prefix?</a> <a href="#M000305">proper_name</a> </div> </div> </div> <!-- if includes --> <div id="section"> <!-- if method_list --> <div id="methods"> <h3 class="section-bar">Public Instance methods</h3> <div id="method-M000304" class="method-detail"> <a name="M000304"></a> <div class="method-heading"> <a href="#M000304" class="method-signature"> <span class="method-name">encrypt</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Encrypts a password </p> <dl> <dt><tt>return</tt></dt><dd>The encrypted string </dd> </dl> <p><a class="source-toggle" href="#" onclick="toggleCode('M000304-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000304-source"> <pre> <span class="ruby-comment cmt"># File lib/utility/utility.rb, line 44</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">encrypt</span> <span class="ruby-identifier">alphabet</span> = <span class="ruby-value str">'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./'</span> <span class="ruby-identifier">salt</span> = <span class="ruby-node">"#{alphabet[rand(64)].chr}#{alphabet[rand(64)].chr}"</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">crypt</span>(<span class="ruby-identifier">salt</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000302" class="method-detail"> <a name="M000302"></a> <div class="method-heading"> <a href="#M000302" class="method-signature"> <span class="method-name">is_match?</span><span class="method-args">(str)</span> </a> </div> <div class="method-description"> <p> Takes a string containing a list of keywords, like ‘hello world’, and checks if ‘str’ is a prefix of any of those words? "hell" would be true </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000302-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000302-source"> <pre> <span class="ruby-comment cmt"># File lib/utility/utility.rb, line 26</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_match?</span> <span class="ruby-identifier">str</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-identifier">lst</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">' '</span>) <span class="ruby-identifier">lst</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-identifier">str</span>.<span class="ruby-identifier">size</span>).<span class="ruby-identifier">downcase</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000303" class="method-detail"> <a name="M000303"></a> <div class="method-heading"> <a href="#M000303" class="method-signature"> <span class="method-name">is_passwd?</span><span class="method-args">(pwd)</span> </a> </div> <div class="method-description"> <p> Compares the password with the string </p> <dl> <dt><tt>pwd</tt></dt><dd>The encrypted password </dd> <dt><tt>return</tt></dt><dd>true if they are equal, false if not </dd> </dl> <p><a class="source-toggle" href="#" onclick="toggleCode('M000303-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000303-source"> <pre> <span class="ruby-comment cmt"># File lib/utility/utility.rb, line 38</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_passwd?</span>(<span class="ruby-identifier">pwd</span>) <span class="ruby-identifier">pwd</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">crypt</span>(<span class="ruby-identifier">pwd</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000301" class="method-detail"> <a name="M000301"></a> <div class="method-heading"> <a href="#M000301" class="method-signature"> <span class="method-name">is_prefix?</span><span class="method-args">(str)</span> </a> </div> <div class="method-description"> <p> Checks if ‘str’ is a prefix of this string </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000301-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000301-source"> <pre> <span class="ruby-comment cmt"># File lib/utility/utility.rb, line 18</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">is_prefix?</span> <span class="ruby-identifier">str</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">slice</span>(<span class="ruby-value">0</span><span class="ruby-operator">...</span><span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">size</span>).<span class="ruby-identifier">downcase</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000305" class="method-detail"> <a name="M000305"></a> <div class="method-heading"> <a href="#M000305" class="method-signature"> <span class="method-name">proper_name</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Make string into proper name removes digits, downcases and then capitalizes words. Sorry it doesn‘t like McManus but likes O‘Mally </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000305-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000305-source"> <pre> <span class="ruby-comment cmt"># File lib/utility/utility.rb, line 53</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">proper_name</span> <span class="ruby-identifier">str</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\d+/</span>,<span class="ruby-value str">''</span>) <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\w+/</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">downcase!</span>; <span class="ruby-identifier">m</span>[<span class="ruby-value">0</span>] = <span class="ruby-identifier">m</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">chr</span>.<span class="ruby-identifier">upcase</span>; <span class="ruby-identifier">m</span>} <span class="ruby-identifier">str</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> </div> </div> <div id="validator-badges"> <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> </div> </body> </html>