<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>File: p4table.rb</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="fileHeader"> <h1>p4table.rb</h1> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>Path:</strong></td> <td>p4table.rb </td> </tr> <tr class="top-aligned-row"> <td><strong>Last Update:</strong></td> <td>Tue Dec 07 12:33:06 GMT 2004</td> </tr> </table> </div> <!-- banner header --> <div id="bodyContent"> <div id="contextContent"> <div id="description"> <p> root is relative. </p> </div> <div id="requires-list"> <h2 class="section-bar">Required files</h2> <div class="name-list"> P4 </div> </div> <div id="method-list"> <h2 class="section-bar">Methods</h2> <div class="name-list"> <a href="#M000003">create_client</a> <a href="#M000004">deltree</a> <a href="#M000001">init_jobspec</a> <a href="#M000002">prepare</a> </div> </div> <div id="constants-list"> <h2 class="section-bar">Constants</h2> <div class="name-list"> <table summary="Constants"> <tr class="top-aligned-row context-row"> <td class="context-item-name">SEP</td> <td>=</td> <td class="context-item-value">"\\"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">NL</td> <td>=</td> <td class="context-item-value">"\r\n"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">SEP</td> <td>=</td> <td class="context-item-value">"/"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">NL</td> <td>=</td> <td class="context-item-value">"\n"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">DEPOT_ROOT_PATH</td> <td>=</td> <td class="context-item-value">"//depot"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">P4ROOT</td> <td>=</td> <td class="context-item-value">"p4table-test"</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">CLIENT_ROOT</td> <td>=</td> <td class="context-item-value">"test-client"</td> </tr> </table> </div> </div> <div id="class-list"> <h2 class="section-bar">Classes and Modules</h2> Class <a href="../classes/P4RecFile.html" class="link">P4RecFile</a><br /> Class <a href="../classes/P4RecId.html" class="link">P4RecId</a><br /> Class <a href="../classes/P4Record.html" class="link">P4Record</a><br /> Class <a href="../classes/P4Table.html" class="link">P4Table</a><br /> </div> </div> <!-- if includes --> <!-- if method_list --> <div id="methods"> <h2 class="section-bar">Public Instance methods</h2> <div id="method-M000003" class="method-detail"> <a name="M000003"></a> <div class="method-heading"> <a href="#M000003" class="method-signature"> <span class="method-name">create_client</span><span class="method-args">( p4, root )</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" onclick="toggleCode('M000003-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000003-source"> <pre> <span class="ruby-comment cmt"># File p4table.rb, line 612</span> 612: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_client</span>( <span class="ruby-identifier">p4</span>, <span class="ruby-identifier">root</span> ) 613: <span class="ruby-comment cmt"># root is relative.</span> 614: <span class="ruby-identifier">root</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">getwd</span> <span class="ruby-operator">+</span> <span class="ruby-constant">SEP</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">root</span> 615: <span class="ruby-identifier">spec</span> = <span class="ruby-identifier">p4</span>.<span class="ruby-identifier">fetch_client</span>( <span class="ruby-identifier">p4</span>.<span class="ruby-identifier">client?</span> ) 616: <span class="ruby-identifier">spec</span>[ <span class="ruby-value str">"Root"</span> ] = <span class="ruby-identifier">root</span> 617: <span class="ruby-identifier">p4</span>.<span class="ruby-identifier">save_client</span>( <span class="ruby-identifier">spec</span> ) 618: <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000004" class="method-detail"> <a name="M000004"></a> <div class="method-heading"> <a href="#M000004" class="method-signature"> <span class="method-name">deltree</span><span class="method-args">( p )</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" onclick="toggleCode('M000004-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000004-source"> <pre> <span class="ruby-comment cmt"># File p4table.rb, line 621</span> 621: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deltree</span>( <span class="ruby-identifier">p</span> ) 622: <span class="ruby-keyword kw">if</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>( <span class="ruby-identifier">p</span> ) ) 623: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">entries</span>( <span class="ruby-identifier">p</span> ).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> 624: <span class="ruby-operator">|</span><span class="ruby-identifier">ent</span><span class="ruby-operator">|</span> 625: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> ( <span class="ruby-identifier">ent</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"."</span> ) 626: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> ( <span class="ruby-identifier">ent</span> <span class="ruby-operator">==</span> <span class="ruby-value str">".."</span> ) 627: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">p</span> <span class="ruby-operator">+</span> <span class="ruby-constant">SEP</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">ent</span> 628: <span class="ruby-identifier">deltree</span>( <span class="ruby-identifier">path</span> ) 629: <span class="ruby-keyword kw">end</span> 630: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">delete</span>( <span class="ruby-identifier">p</span> ) 631: <span class="ruby-keyword kw">else</span> 632: <span class="ruby-constant">File</span>.<span class="ruby-identifier">unlink</span>( <span class="ruby-identifier">p</span> ) 633: <span class="ruby-keyword kw">end</span> 634: <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000001" class="method-detail"> <a name="M000001"></a> <div class="method-heading"> <a href="#M000001" class="method-signature"> <span class="method-name">init_jobspec</span><span class="method-args">( p4 )</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" onclick="toggleCode('M000001-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000001-source"> <pre> <span class="ruby-comment cmt"># File p4table.rb, line 576</span> 576: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init_jobspec</span>( <span class="ruby-identifier">p4</span> ) 577: <span class="ruby-identifier">js</span> = <span class="ruby-value str">"\n Fields:\n 101 Job word 32 required\n 102 status select 10 required\n 103 owner word 32 required\n 104 modified_date date 20 always\n 105 note text 0 optional\n 106 sender line 32 optional\n 107 fax_number line 32 optional\n 108 files text 80 optional\n 109 date_received date 20 once\n 110 date_closed date 20 optional\n\nValues:\n status open/closed\n\nPresets:\n status open\n owner $user\n modified_date $now\n date_received $now\n"</span> 578: 579: <span class="ruby-identifier">p4</span>.<span class="ruby-identifier">save_jobspec</span>( <span class="ruby-identifier">js</span> ) 580: 581: <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000002" class="method-detail"> <a name="M000002"></a> <div class="method-heading"> <a href="#M000002" class="method-signature"> <span class="method-name">prepare</span><span class="method-args">( root )</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" onclick="toggleCode('M000002-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000002-source"> <pre> <span class="ruby-comment cmt"># File p4table.rb, line 607</span> 607: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">prepare</span>( <span class="ruby-identifier">root</span> ) 608: <span class="ruby-identifier">deltree</span>( <span class="ruby-identifier">root</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>( <span class="ruby-identifier">root</span> ) 609: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span>( <span class="ruby-identifier">root</span> ) 610: <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>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 4678 | Tony Smith |
Update p4table.rb to use the new spec parsing and formatting features of P4Ruby. This means we now only need one Perforce client instance to handle specs in both hash form and text form. |
||
#1 | 4677 | Tony Smith |
Move P4table.rb to the P4Ruby library and rename it to p4table.rb instead. There's an update coming so this is just the move. |