<!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> Class: Sync::SyncProjectService — 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#!Sync/SyncProjectService.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 (S)</a> » <span class='title'><span class='object_link'><a href="../Sync.html" title="Sync (module)">Sync</a></span></span> » <span class="title">SyncProjectService</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>Class: Sync::SyncProjectService </h1> <dl class="box"> <dt class="r1">Inherits:</dt> <dd class="r1"> <span class="inheritName">Object</span> <ul class="fullTree"> <li>Object</li> <li class="next">Sync::SyncProjectService</li> </ul> <a href="#" class="inheritanceTree">show all</a> </dd> <dt class="r2 last">Defined in:</dt> <dd class="r2 last">lib/sync/sync_project_service.rb</dd> </dl> <div class="clear"></div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p>This service stores it's projects via the main project service, but makes a few other adjustments.</p> <p>Settings used:</p> <ul><li> <p>project_p4_url</p> </li><li> <p>default_stream_depot</p> </li></ul> </div> </div> <div class="tags"> </div> <h2>Constant Summary</h2> <dl class="constants"> <dt id="extension_model-classvariable" class="">@@extension_model = </dt> <dd><pre class="code"><span class='const'>HelixWebServicesClient</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Project</span><span class='op'>::</span><span class='const'>HelixSyncExtension</span></pre></dd> </dl> <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#client_name-instance_method" title="#client_name (instance method)">- (Object) <strong>client_name</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>Returns the value of attribute client_name.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#client_root-instance_method" title="#client_root (instance method)">- (Object) <strong>client_root</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>Returns the value of attribute client_root.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#p4-instance_method" title="#p4 (instance method)">- (Object) <strong>p4</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>Access to the p4 instance, typically initialized from the user's connection.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#settings-instance_method" title="#settings (instance method)">- (Object) <strong>settings</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>Returns the value of attribute settings.</p> </div></span> </li> </ul> <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="#create-instance_method" title="#create (instance method)">- (Object) <strong>create</strong>(project, depot_dir: nil) </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#create_project_service-instance_method" title="#create_project_service (instance method)">- (Object) <strong>create_project_service</strong> </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#default_p4_url-instance_method" title="#default_p4_url (instance method)">- (Object) <strong>default_p4_url</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>This demands.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#find-instance_method" title="#find (instance method)">- (Object) <strong>find</strong>(names: nil, owners: nil, members: nil) </a> </span> <span class="summary_desc"><div class='inline'> <p>Use the members filter with the current user's login for a “my projects” concept.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#find_by_id-instance_method" title="#find_by_id (instance method)">- (Object) <strong>find_by_id</strong>(project_id) </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#initialize-instance_method" title="#initialize (instance method)">- (SyncProjectService) <strong>initialize</strong>(p4: nil, client_name: nil, client_root: nil, settings: nil) </a> </span> <span class="note title constructor">constructor</span> <span class="summary_desc"><div class='inline'> <p>A new instance of SyncProjectService.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#update-instance_method" title="#update (instance method)">- (Object) <strong>update</strong>(project) </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> </ul> <div id="constructor_details" class="method_details_list"> <h2>Constructor Details</h2> <div class="method_details first"> <h3 class="signature first" id="initialize-instance_method"> - (<tt><span class='object_link'><a href="" title="Sync::SyncProjectService (class)">SyncProjectService</a></span></tt>) <strong>initialize</strong>(p4: nil, client_name: nil, client_root: nil, settings: nil) </h3><div class="docstring"> <div class="discussion"> <p>Returns a new instance of SyncProjectService</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 28 29 30 31 32 33</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 28</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>p4:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>client_name:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>client_root:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>settings:</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='ivar'>@p4</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span> <span class='ivar'>@client_name</span> <span class='op'>=</span> <span class='id identifier rubyid_client_name'>client_name</span> <span class='ivar'>@client_root</span> <span class='op'>=</span> <span class='id identifier rubyid_client_root'>client_root</span> <span class='ivar'>@settings</span> <span class='op'>=</span> <span class='id identifier rubyid_settings'>settings</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_attr_details" class="attr_details"> <h2>Instance Attribute Details</h2> <span id="client_name=-instance_method"></span> <div class="method_details first"> <h3 class="signature first" id="client_name-instance_method"> - (<tt>Object</tt>) <strong>client_name</strong> </h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute client_name</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 20 21 22</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 20</span> <span class='kw'>def</span> <span class='id identifier rubyid_client_name'>client_name</span> <span class='ivar'>@client_name</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="client_root=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="client_root-instance_method"> - (<tt>Object</tt>) <strong>client_root</strong> </h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute client_root</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 22 23 24</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 22</span> <span class='kw'>def</span> <span class='id identifier rubyid_client_root'>client_root</span> <span class='ivar'>@client_root</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="p4=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="p4-instance_method"> - (<tt>Object</tt>) <strong>p4</strong> </h3><div class="docstring"> <div class="discussion"> <p>Access to the p4 instance, typically initialized from the user's connection</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 18 19 20</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 18</span> <span class='kw'>def</span> <span class='id identifier rubyid_p4'>p4</span> <span class='ivar'>@p4</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="settings=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="settings-instance_method"> - (<tt>Object</tt>) <strong>settings</strong> </h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute settings</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 24 25 26</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 24</span> <span class='kw'>def</span> <span class='id identifier rubyid_settings'>settings</span> <span class='ivar'>@settings</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="create-instance_method"> - (<tt>Object</tt>) <strong>create</strong>(project, depot_dir: nil) </h3><table class="source_code"> <tr> <td> <pre class="lines"> 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 51</span> <span class='kw'>def</span> <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_project'>project</span><span class='comma'>,</span> <span class='label'>depot_dir:</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='comment'># This removes a lot of the work of choosing a single existing branch </span> <span class='comment'># from the client. </span> <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_depot_dir'>depot_dir</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_project'>project</span><span class='period'>.</span><span class='id identifier rubyid_branches'>branches</span> <span class='id identifier rubyid_project'>project</span><span class='period'>.</span><span class='id identifier rubyid_branches'>branches</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='kw'>end</span> <span class='id identifier rubyid_project'>project</span><span class='period'>.</span><span class='id identifier rubyid_branches'>branches</span> <span class='op'><<</span> <span class='id identifier rubyid_create_depot_branch'>create_depot_branch</span><span class='lparen'>(</span><span class='id identifier rubyid_depot_dir'>depot_dir</span><span class='rparen'>)</span> <span class='kw'>end</span> <span class='id identifier rubyid_project_service'>project_service</span> <span class='op'>=</span> <span class='id identifier rubyid_create_project_service'>create_project_service</span> <span class='id identifier rubyid_project_service'>project_service</span><span class='period'>.</span><span class='id identifier rubyid_set_defaults'>set_defaults</span><span class='lparen'>(</span><span class='id identifier rubyid_project'>project</span><span class='rparen'>)</span> <span class='id identifier rubyid_set_default_extension_model'>set_default_extension_model</span><span class='lparen'>(</span><span class='id identifier rubyid_project'>project</span><span class='rparen'>)</span> <span class='id identifier rubyid_set_default_branch'>set_default_branch</span><span class='lparen'>(</span><span class='id identifier rubyid_project'>project</span><span class='rparen'>)</span> <span class='id identifier rubyid_project_service'>project_service</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_project'>project</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="create_project_service-instance_method"> - (<tt>Object</tt>) <strong>create_project_service</strong> </h3><table class="source_code"> <tr> <td> <pre class="lines"> 71 72 73 74</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 71</span> <span class='kw'>def</span> <span class='id identifier rubyid_create_project_service'>create_project_service</span> <span class='const'>Projects</span><span class='op'>::</span><span class='const'>ProjectService</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>p4:</span> <span class='id identifier rubyid_p4'>p4</span><span class='comma'>,</span> <span class='label'>client_name:</span> <span class='id identifier rubyid_client_name'>client_name</span><span class='comma'>,</span> <span class='label'>client_root:</span> <span class='id identifier rubyid_client_root'>client_root</span><span class='comma'>,</span> <span class='label'>settings:</span> <span class='id identifier rubyid_settings'>settings</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="default_p4_url-instance_method"> - (<tt>Object</tt>) <strong>default_p4_url</strong> </h3><div class="docstring"> <div class="discussion"> <p>This demands</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 77 78 79</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 77</span> <span class='kw'>def</span> <span class='id identifier rubyid_default_p4_url'>default_p4_url</span> <span class='id identifier rubyid_settings'>settings</span><span class='period'>.</span><span class='id identifier rubyid_project_p4_url'>project_p4_url</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="find-instance_method"> - (<tt>Object</tt>) <strong>find</strong>(names: nil, owners: nil, members: nil) </h3><div class="docstring"> <div class="discussion"> <p>Use the members filter with the current user's login for a “my projects” concept.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 37 38 39 40 41 42 43 44 45</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 37</span> <span class='kw'>def</span> <span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='label'>names:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>owners:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>members:</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='label'>extensions:</span> <span class='cvar'>@@extension_model</span><span class='period'>.</span><span class='id identifier rubyid_content_type'>content_type</span> <span class='rbrace'>}</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:members</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_members'>members</span> <span class='kw'>if</span> <span class='id identifier rubyid_members'>members</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:names</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_names'>names</span> <span class='kw'>if</span> <span class='id identifier rubyid_names'>names</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:owners</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_owners'>owners</span> <span class='kw'>if</span> <span class='id identifier rubyid_owners'>owners</span> <span class='id identifier rubyid_create_project_service'>create_project_service</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="find_by_id-instance_method"> - (<tt>Object</tt>) <strong>find_by_id</strong>(project_id) </h3><table class="source_code"> <tr> <td> <pre class="lines"> 47 48 49</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 47</span> <span class='kw'>def</span> <span class='id identifier rubyid_find_by_id'>find_by_id</span><span class='lparen'>(</span><span class='id identifier rubyid_project_id'>project_id</span><span class='rparen'>)</span> <span class='id identifier rubyid_create_project_service'>create_project_service</span><span class='period'>.</span><span class='id identifier rubyid_find_by_id'>find_by_id</span><span class='lparen'>(</span><span class='id identifier rubyid_project_id'>project_id</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="update-instance_method"> - (<tt>Object</tt>) <strong>update</strong>(project) </h3><table class="source_code"> <tr> <td> <pre class="lines"> 67 68 69</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/sync/sync_project_service.rb', line 67</span> <span class='kw'>def</span> <span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_project'>project</span><span class='rparen'>)</span> <span class='id identifier rubyid_create_project_service'>create_project_service</span><span class='period'>.</span><span class='id identifier rubyid_update'>update</span><span class='lparen'>(</span><span class='id identifier rubyid_project'>project</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Wed Jul 15 15:50:12 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 | |
---|---|---|---|---|---|
#9 | 15676 | tjuricek | HWS/NOARCH/2015.1.main/201509092205 | ||
#8 | 15098 | tjuricek |
Revised project services to GET-only forms. With Helix Sync revising to integrate purely with Helix Cloud, this is the only thing we can reasonably define. |
||
#7 | 15090 | tjuricek |
Update _proposed_ API for project services. This is *very likely* to change, and will not be implemented until reviewed. |
||
#6 | 15078 | tjuricek |
clients spec method revisions Updated some other documentation. |
||
#5 | 15077 | tjuricek |
Add new 'model' technique, revised branch spec operations, test Auth::Middleware. The Ruby client now does *not* strictly type anything, but extends OpenStruct with helper methods to help deal with inconsistent data formats. See the OpenModel class documentation for more details. The Auth::Middleware class is also *finally* implemented as well. This does not take into account all possible variations of server behavior (yet), but that will happen in follow-up work. |
||
#4 | 15073 | tjuricek | Update Auth::Middleware and add spec | ||
#3 | 15053 | tjuricek |
Revise the client API to use the new login method. The current specs will need to be revised since data normalization is moving out of the server and into the client. |
||
#2 | 15038 | tjuricek | Document 'login' auth method and client programming overview. | ||
#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. |