<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> Module: HelixVersioningEngine::Helpers — Documentation by YARD 0.8.7.6 </title> <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" /> <script type="text/javascript" charset="utf-8"> hasFrames = window.top.frames.main ? true : false; relpath = '../'; framesUrl = "../frames.html#!HelixVersioningEngine/Helpers.html"; </script> <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script> <script type="text/javascript" charset="utf-8" src="../js/app.js"></script> </head> <body> <div id="header"> <div id="menu"> <a href="../_index.html">Index (H)</a> » <span class='title'><span class='object_link'><a href="../HelixVersioningEngine.html" title="HelixVersioningEngine (module)">HelixVersioningEngine</a></span></span> » <span class="title">Helpers</span> <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div> </div> <div id="search"> <a class="full_list_link" id="class_list_link" href="../class_list.html"> Class List </a> <a class="full_list_link" id="method_list_link" href="../method_list.html"> Method List </a> <a class="full_list_link" id="file_list_link" href="../file_list.html"> File List </a> </div> <div class="clear"></div> </div> <iframe id="search_frame"></iframe> <div id="content"><h1>Module: HelixVersioningEngine::Helpers </h1> <dl class="box"> <dt class="r1 last">Defined in:</dt> <dd class="r1 last">lib/helix_versioning_engine/helpers.rb</dd> </dl> <div class="clear"></div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p>Defines Sinatra helper methods in the main application. TODO these should be moved. They really should only depend on the HWSSettings</p> </div> </div> <div class="tags"> </div> <h2> Instance Method Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#open_p4_as_user-instance_method" title="#open_p4_as_user (instance method)">- (Object) <strong>open_p4_as_user</strong>(&block) </a> </span> <span class="summary_desc"><div class='inline'> <p>A block helper that uses the authentication credentials to create the p4 connection.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#open_p4_temp_user_client-instance_method" title="#open_p4_temp_user_client (instance method)">- (Object) <strong>open_p4_temp_user_client</strong>(depot_paths, &block) </a> </span> <span class="summary_desc"><div class='inline'> <p>Block helper to open a p4 handle with a temporary client workspace.</p> </div></span> </li> </ul> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="open_p4_as_user-instance_method"> - (<tt>Object</tt>) <strong>open_p4_as_user</strong>(&block) </h3><div class="docstring"> <div class="discussion"> <p>A block helper that uses the authentication credentials to create the p4 connection</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 9 10 11 12 13 14 15 16 17 18 19 20 21</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/helpers.rb', line 9</span> <span class='kw'>def</span> <span class='id identifier rubyid_open_p4_as_user'>open_p4_as_user</span><span class='lparen'>(</span><span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='label'>user:</span> <span class='id identifier rubyid_env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>AUTH_CREDENTIALS</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='comma'>,</span> <span class='label'>password:</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_resolve_password'>resolve_password</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='comma'>,</span> <span class='id identifier rubyid_settings'>settings</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>host:</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_resolve_host'>resolve_host</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='comma'>,</span> <span class='id identifier rubyid_settings'>settings</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>port:</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_resolve_port'>resolve_port</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='comma'>,</span> <span class='id identifier rubyid_settings'>settings</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='id identifier rubyid_charset'>charset</span> <span class='op'>=</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_resolve_charset'>resolve_charset</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='comma'>,</span> <span class='id identifier rubyid_settings'>settings</span><span class='rparen'>)</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:charset</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_charset'>charset</span> <span class='kw'>if</span> <span class='id identifier rubyid_charset'>charset</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="open_p4_temp_user_client-instance_method"> - (<tt>Object</tt>) <strong>open_p4_temp_user_client</strong>(depot_paths, &block) </h3><div class="docstring"> <div class="discussion"> <p>Block helper to open a p4 handle with a temporary client workspace. The client workspace will map the series of depot path expressions directly into the client workspace.</p> <p>The depot_paths are generally expected to be complete file path expressions, e.g., '//depot/dir1/dir2/file'. They'll be mapped directly to the temporary working area: '//client/depot/dir/1/dir2/file'</p> <p>The block handler here will be called with the arguments (p4, root), where root is the temporary client's root directory.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/helpers.rb', line 33</span> <span class='kw'>def</span> <span class='id identifier rubyid_open_p4_temp_user_client'>open_p4_temp_user_client</span><span class='lparen'>(</span><span class='id identifier rubyid_depot_paths'>depot_paths</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span> <span class='id identifier rubyid_open_p4_as_user'>open_p4_as_user</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_p4'>p4</span><span class='op'>|</span> <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='int'>0</span><span class='op'>...</span><span class='int'>8</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='lparen'>(</span><span class='int'>65</span> <span class='op'>+</span> <span class='id identifier rubyid_rand'>rand</span><span class='lparen'>(</span><span class='int'>26</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_chr'>chr</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='id identifier rubyid_dir'>dir</span> <span class='op'>=</span> <span class='id identifier rubyid_init_temp_workspace_dir'>init_temp_workspace_dir</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span> <span class='id identifier rubyid_init_temp_client'>init_temp_client</span><span class='lparen'>(</span><span class='id identifier rubyid_p4'>p4</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_dir'>dir</span><span class='comma'>,</span> <span class='id identifier rubyid_depot_paths'>depot_paths</span><span class='rparen'>)</span> <span class='id identifier rubyid_ex'>ex</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>begin</span> <span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_p4'>p4</span><span class='comma'>,</span> <span class='id identifier rubyid_dir'>dir</span><span class='rparen'>)</span> <span class='kw'>rescue</span> <span class='const'>StandardError</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span> <span class='id identifier rubyid_ex'>ex</span> <span class='op'>=</span> <span class='id identifier rubyid_e'>e</span> <span class='kw'>end</span> <span class='comment'># We need to convert any exception before attempting to delete, </span> <span class='comment'># otherwise the p4.messages and p4.errors will get reset at the next </span> <span class='comment'># method call. </span> <span class='kw'>if</span> <span class='id identifier rubyid_ex'>ex</span><span class='period'>.</span><span class='id identifier rubyid_instance_of?'>instance_of?</span><span class='lparen'>(</span><span class='const'>P4Exception</span><span class='rparen'>)</span> <span class='id identifier rubyid_ex'>ex</span> <span class='op'>=</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_make_p4_error'>make_p4_error</span><span class='lparen'>(</span><span class='id identifier rubyid_p4'>p4</span><span class='rparen'>)</span> <span class='kw'>end</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_at_exception_level'>at_exception_level</span><span class='lparen'>(</span><span class='const'>P4</span><span class='op'>::</span><span class='const'>RAISE_NONE</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='id identifier rubyid_delete_temp_client'>delete_temp_client</span><span class='lparen'>(</span><span class='id identifier rubyid_p4'>p4</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_dir'>dir</span><span class='rparen'>)</span> <span class='kw'>end</span> <span class='id identifier rubyid_fail'>fail</span> <span class='id identifier rubyid_ex'>ex</span> <span class='kw'>unless</span> <span class='id identifier rubyid_ex'>ex</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Wed Jul 15 09:56:57 2015 by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> 0.8.7.6 (ruby-2.2.1). </div> </body> </html>
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 15676 | tjuricek | HWS/NOARCH/2015.1.main/201509092205 | ||
#1 | 15032 | tjuricek |
Starting config and doc revisions. System is now broken while revisions underway. Configuration of the p4d connection is now done via a single HWSSettings middleware object injected into the Rack env. The HWSP4Cleanup middleware now cleans up any p4 injected into the Rack env. The Auth::App class now mostly just contains one method to generate a p4 ticket. /auth/v1/login. Added yard documentation for the main project. Yard docs have been reconfigured to dump into build/ directories. This should probably be done with each release. Hm... The top level rake file contains a task, 'all:doc', to update our documentation. This should probably be run for each checkin. Hm... Specs are now using Rack::Test on top of a 'live' p4d. I'd suggest you still use the p4util mechanism, which now dumps to a /tmp folder, so we can safely add P4IGNORE rules back into your local .p4config file. Old 'perforce' application now called 'helix_versioning_engine'. Removing cache data. Helix Sync may be slow. It may also get axed. We'll see. |