<!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: HelixWebServicesClient::Models::Project — 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#!HelixWebServicesClient/Models/Project.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 (P)</a> » <span class='title'><span class='object_link'><a href="../../HelixWebServicesClient.html" title="HelixWebServicesClient (class)">HelixWebServicesClient</a></span></span> » <span class='title'><span class='object_link'><a href="../Models.html" title="HelixWebServicesClient::Models (module)">Models</a></span></span> » <span class="title">Project</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: HelixWebServicesClient::Models::Project </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">HelixWebServicesClient::Models::Project</li> </ul> <a href="#" class="inheritanceTree">show all</a> </dd> <dt class="r2 last">Defined in:</dt> <dd class="r2 last">lib/helix_web_services_client/models/project.rb<span class="defines">,<br /> lib/helix_web_services_client/models/project/view_ref.rb,<br /> lib/helix_web_services_client/models/project/branch_ref.rb,<br /> lib/helix_web_services_client/models/project/helix_sync_extension.rb,<br /> lib/helix_web_services_client/models/project/git_fusion_extension.rb</span> </dd> </dl> <div class="clear"></div> <h2>Overview</h2><div class="docstring"> <div class="discussion"> <p>The project is a flexible metadata structure that associates branches of work with groups of users.</p> <p>Additionally, each project can have application-specific extensions.</p> </div> </div> <div class="tags"> </div><h2>Defined Under Namespace</h2> <p class="children"> <strong class="classes">Classes:</strong> <span class='object_link'><a href="Project/BranchRef.html" title="HelixWebServicesClient::Models::Project::BranchRef (class)">BranchRef</a></span>, <span class='object_link'><a href="Project/GitFusionExtension.html" title="HelixWebServicesClient::Models::Project::GitFusionExtension (class)">GitFusionExtension</a></span>, <span class='object_link'><a href="Project/HelixSyncExtension.html" title="HelixWebServicesClient::Models::Project::HelixSyncExtension (class)">HelixSyncExtension</a></span>, <span class='object_link'><a href="Project/ViewRef.html" title="HelixWebServicesClient::Models::Project::ViewRef (class)">ViewRef</a></span> </p> <h2>Constant Summary</h2> <dl class="constants"> <dt id="extension_types-classvariable" class="">@@extension_types = <div class="docstring"> <div class="discussion"> <p>The array of registered “extension types” are used to map to specific extension classes without this class really knowing about it.</p> </div> </div> <div class="tags"> </div> </dt> <dd><pre class="code"><span class='lbracket'>[</span><span class='rbracket'>]</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="#branches-instance_method" title="#branches (instance method)">- (Object) <strong>branches</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>An array of Project::BranchRef instances.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#description-instance_method" title="#description (instance method)">- (Object) <strong>description</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>Another text string that's ideally longer than the name, and probably optional.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#extensions-instance_method" title="#extensions (instance method)">- (Object) <strong>extensions</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>A hash of 'extension ID' to an OpenStruct instances used to tag application-specific information.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#id-instance_method" title="#id (instance method)">- (Object) <strong>id</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>The project ID should actually be a P4 subpath that as a general rule maps to the path //.<a href="id">project/</a>/project.json.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#members-instance_method" title="#members (instance method)">- (Object) <strong>members</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>An array of Perforce users considered to be members of the project.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#name-instance_method" title="#name (instance method)">- (Object) <strong>name</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>The project name is basically just a string, used to display the projct to the user.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#owner-instance_method" title="#owner (instance method)">- (Object) <strong>owner</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>A Perforce user (or group) that is considered the project owner.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#version-instance_method" title="#version (instance method)">- (Object) <strong>version</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>The current iteration of this project structure.</p> </div></span> </li> </ul> <h2> Class Method Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#extension_types-class_method" title="extension_types (class method)">+ (Object) <strong>extension_types</strong> </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#from_hash-class_method" title="from_hash (class method)">+ (Object) <strong>from_hash</strong>(hash) </a> </span> <span class="summary_desc"><div class='inline'></div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#json_create-class_method" title="json_create (class method)">+ (Object) <strong>json_create</strong>(obj) </a> </span> <span class="summary_desc"><div class='inline'></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="#initialize-instance_method" title="#initialize (instance method)">- (Project) <strong>initialize</strong>(id: nil, name: nil, version: nil, description: nil, owner: nil, members: nil, branches: nil, extensions: nil) </a> </span> <span class="note title constructor">constructor</span> <span class="summary_desc"><div class='inline'> <p>A new instance of Project.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_h-instance_method" title="#to_h (instance method)">- (Object) <strong>to_h</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>Our hash representation helps things like JSON serialization.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_json-instance_method" title="#to_json (instance method)">- (Object) <strong>to_json</strong>(*a) </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="HelixWebServicesClient::Models::Project (class)">Project</a></span></tt>) <strong>initialize</strong>(id: nil, name: nil, version: nil, description: nil, owner: nil, members: nil, branches: nil, extensions: nil) </h3><div class="docstring"> <div class="discussion"> <p>Returns a new instance of Project</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 56</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>id:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>name:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>version:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>description:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>owner:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>members:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>branches:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>extensions:</span> <span class='kw'>nil</span><span class='rparen'>)</span> <span class='ivar'>@id</span> <span class='op'>=</span> <span class='id identifier rubyid_id'>id</span> <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span> <span class='ivar'>@version</span> <span class='op'>=</span> <span class='id identifier rubyid_version'>version</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='ivar'>@description</span> <span class='op'>=</span> <span class='id identifier rubyid_description'>description</span> <span class='ivar'>@owner</span> <span class='op'>=</span> <span class='id identifier rubyid_owner'>owner</span> <span class='ivar'>@members</span> <span class='op'>=</span> <span class='id identifier rubyid_members'>members</span> <span class='op'>?</span> <span class='id identifier rubyid_members'>members</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='ivar'>@extensions</span> <span class='op'>=</span> <span class='id identifier rubyid_extensions'>extensions</span> <span class='op'>?</span> <span class='id identifier rubyid_extensions'>extensions</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>unless</span> <span class='id identifier rubyid_branches'>branches</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='ivar'>@branches</span> <span class='op'>=</span> <span class='id identifier rubyid_branches'>branches</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_branch'>branch</span><span class='op'>|</span> <span class='id identifier rubyid_branch'>branch</span> <span class='op'>=</span> <span class='const'>BranchRef</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_branch'>branch</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_branch'>branch</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>BranchRef</span><span class='rparen'>)</span> <span class='id identifier rubyid_branch'>branch</span> <span class='kw'>end</span> <span class='kw'>end</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="branches=-instance_method"></span> <div class="method_details first"> <h3 class="signature first" id="branches-instance_method"> - (<tt>Object</tt>) <strong>branches</strong> </h3><div class="docstring"> <div class="discussion"> <p>An array of Project::BranchRef instances</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 41 42 43</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 41</span> <span class='kw'>def</span> <span class='id identifier rubyid_branches'>branches</span> <span class='ivar'>@branches</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="description=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="description-instance_method"> - (<tt>Object</tt>) <strong>description</strong> </h3><div class="docstring"> <div class="discussion"> <p>Another text string that's ideally longer than the name, and probably optional.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 31 32 33</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 31</span> <span class='kw'>def</span> <span class='id identifier rubyid_description'>description</span> <span class='ivar'>@description</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="extensions=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="extensions-instance_method"> - (<tt>Object</tt>) <strong>extensions</strong> </h3><div class="docstring"> <div class="discussion"> <p>A hash of 'extension ID' to an OpenStruct instances used to tag application-specific information. Each extension ID should be a versioned MIME type.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 46 47 48</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 46</span> <span class='kw'>def</span> <span class='id identifier rubyid_extensions'>extensions</span> <span class='ivar'>@extensions</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="id=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="id-instance_method"> - (<tt>Object</tt>) <strong>id</strong> </h3><div class="docstring"> <div class="discussion"> <p>The project ID should actually be a P4 subpath that as a general rule maps to the path //.<a href="id">project/</a>/project.json</p> <p>Importantly, project IDs are unique, though names do not have to be.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 17 18 19</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 17</span> <span class='kw'>def</span> <span class='id identifier rubyid_id'>id</span> <span class='ivar'>@id</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="members=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="members-instance_method"> - (<tt>Object</tt>) <strong>members</strong> </h3><div class="docstring"> <div class="discussion"> <p>An array of Perforce users considered to be members of the project. The effect of 'membership' is product-specific.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 38 39 40</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 38</span> <span class='kw'>def</span> <span class='id identifier rubyid_members'>members</span> <span class='ivar'>@members</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="name=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="name-instance_method"> - (<tt>Object</tt>) <strong>name</strong> </h3><div class="docstring"> <div class="discussion"> <p>The project name is basically just a string, used to display the projct to the user. It's more likely that the name is used to generate folder names on the local user's system than the ID.</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/helix_web_services_client/models/project.rb', line 22</span> <span class='kw'>def</span> <span class='id identifier rubyid_name'>name</span> <span class='ivar'>@name</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="owner=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="owner-instance_method"> - (<tt>Object</tt>) <strong>owner</strong> </h3><div class="docstring"> <div class="discussion"> <p>A Perforce user (or group) that is considered the project owner.</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 34 35 36</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 34</span> <span class='kw'>def</span> <span class='id identifier rubyid_owner'>owner</span> <span class='ivar'>@owner</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id="version=-instance_method"></span> <div class="method_details "> <h3 class="signature " id="version-instance_method"> - (<tt>Object</tt>) <strong>version</strong> </h3><div class="docstring"> <div class="discussion"> <p>The current iteration of this project structure. In some cases we do send updates indicating this version number has changed, in which case clients should reload the entire structure</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 27 28 29</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 27</span> <span class='kw'>def</span> <span class='id identifier rubyid_version'>version</span> <span class='ivar'>@version</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="class_method_details" class="method_details_list"> <h2>Class Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="extension_types-class_method"> + (<tt>Object</tt>) <strong>extension_types</strong> </h3><table class="source_code"> <tr> <td> <pre class="lines"> 52 53 54</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 52</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extension_types'>extension_types</span> <span class='cvar'>@@extension_types</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="from_hash-class_method"> + (<tt>Object</tt>) <strong>from_hash</strong>(hash) </h3><table class="source_code"> <tr> <td> <pre class="lines"> 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 98</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_from_hash'>from_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_hash'>hash</span><span class='rparen'>)</span> <span class='id identifier rubyid_mapped'>mapped</span> <span class='op'>=</span> <span class='const'>Hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_hash'>hash</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='lbracket'>[</span><span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='rbracket'>]</span> <span class='rbrace'>}</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_mapped'>mapped</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:branches</span><span class='rparen'>)</span> <span class='id identifier rubyid_mapped'>mapped</span><span class='lbracket'>[</span><span class='symbol'>:branches</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_mapped'>mapped</span><span class='lbracket'>[</span><span class='symbol'>:branches</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='const'>BranchRef</span><span class='period'>.</span><span class='id identifier rubyid_from_hash'>from_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='kw'>end</span> <span class='kw'>if</span> <span class='id identifier rubyid_mapped'>mapped</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:extensions</span><span class='rparen'>)</span> <span class='id identifier rubyid_mapped'>mapped</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='id identifier rubyid_mapped'>mapped</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_content_type'>content_type</span><span class='comma'>,</span> <span class='id identifier rubyid_ext_hash'>ext_hash</span><span class='op'>|</span> <span class='id identifier rubyid_ext_type'>ext_type</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extension_types'>extension_types</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='op'>|</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>==</span> <span class='id identifier rubyid_content_type'>content_type</span> <span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_ext_type'>ext_type</span> <span class='id identifier rubyid_mapped'>mapped</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_content_type'>content_type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_ext_type'>ext_type</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_ext_hash'>ext_hash</span><span class='rparen'>)</span> <span class='kw'>else</span> <span class='id identifier rubyid_mapped'>mapped</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_content_type'>content_type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>OpenStruct</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_ext_hash'>ext_hash</span><span class='rparen'>)</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_mapped'>mapped</span><span class='rparen'>)</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="json_create-class_method"> + (<tt>Object</tt>) <strong>json_create</strong>(obj) </h3><table class="source_code"> <tr> <td> <pre class="lines"> 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 124</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_json_create'>json_create</span><span class='lparen'>(</span><span class='id identifier rubyid_obj'>obj</span><span class='rparen'>)</span> <span class='id identifier rubyid_args'>args</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='lbracket'>[</span><span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:name</span><span class='comma'>,</span> <span class='symbol'>:version</span><span class='comma'>,</span> <span class='symbol'>:description</span><span class='comma'>,</span> <span class='symbol'>:owner</span><span class='comma'>,</span> <span class='symbol'>:members</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_obj'>obj</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='kw'>end</span> <span class='kw'>if</span> <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>branches</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:branches</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_obj'>obj</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>branches</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_x'>x</span><span class='op'>|</span> <span class='const'>BranchRef</span><span class='period'>.</span><span class='id identifier rubyid_json_create'>json_create</span><span class='lparen'>(</span><span class='id identifier rubyid_x'>x</span><span class='rparen'>)</span> <span class='rbrace'>}</span> <span class='kw'>end</span> <span class='id identifier rubyid_extensions'>extensions</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='id identifier rubyid_extensions'>extensions</span> <span class='op'>=</span> <span class='id identifier rubyid_obj'>obj</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_obj'>obj</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='symbol'>:extensions</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='id identifier rubyid_obj'>obj</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span> <span class='id identifier rubyid_ext_type'>ext_type</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_extension_types'>extension_types</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='op'>|</span> <span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>==</span> <span class='id identifier rubyid_key'>key</span> <span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_ext_type'>ext_type</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_ext_type'>ext_type</span><span class='period'>.</span><span class='id identifier rubyid_json_create'>json_create</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>else</span> <span class='id identifier rubyid_args'>args</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>OpenStruct</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</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="to_h-instance_method"> - (<tt>Object</tt>) <strong>to_h</strong> </h3><div class="docstring"> <div class="discussion"> <p>Our hash representation helps things like JSON serialization</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 75</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_h'>to_h</span> <span class='id identifier rubyid_hash'>hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='lbracket'>[</span><span class='symbol'>:id</span><span class='comma'>,</span> <span class='symbol'>:name</span><span class='comma'>,</span> <span class='symbol'>:version</span><span class='comma'>,</span> <span class='symbol'>:description</span><span class='comma'>,</span> <span class='symbol'>:owner</span><span class='comma'>,</span> <span class='symbol'>:members</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span> <span class='id identifier rubyid_val'>val</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_val'>val</span> <span class='kw'>unless</span> <span class='id identifier rubyid_val'>val</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span> <span class='comment'># Arrays of objects that should also be converted to hashes </span> <span class='lbracket'>[</span><span class='symbol'>:branches</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span> <span class='id identifier rubyid_val'>val</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_val'>val</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span> <span class='rbrace'>}</span> <span class='kw'>unless</span> <span class='id identifier rubyid_val'>val</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>end</span> <span class='comment'># Hashes whose values should also be converted to hashes </span> <span class='kw'>unless</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='id identifier rubyid_extensions'>extensions</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:extensions</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_content_type'>content_type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_to_h'>to_h</span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='id identifier rubyid_hash'>hash</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="to_json-instance_method"> - (<tt>Object</tt>) <strong>to_json</strong>(*a) </h3><table class="source_code"> <tr> <td> <pre class="lines"> 120 121 122</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/helix_web_services_client/models/project.rb', line 120</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_json'>to_json</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_a'>a</span><span class='rparen'>)</span> <span class='id identifier rubyid_to_h'>to_h</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_a'>a</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:10 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 | |
---|---|---|---|---|---|
#6 | 15676 | tjuricek | HWS/NOARCH/2015.1.main/201509092205 | ||
#5 | 15073 | tjuricek | Update Auth::Middleware and add spec | ||
#4 | 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. |
||
#3 | 15038 | tjuricek | Document 'login' auth method and client programming overview. | ||
#2 | 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. |
||
#1 | 14049 | tjuricek |
Add methods to generate client workspaces for a user. The Qt SDK was updated based on immediate need. Also, add Ruby client SDK documentation to the docs site. Everything is early, but there's *some* reference available at least. |