Loading...
Helix SwarmHelix Swarm
Loading...

FileService.html

  • //
  • guest/
  • doug_scheirer/
  • helix-web-services/
  • main/
  • build/
  • doc/
  • helix_web_services/
  • HelixVersioningEngine/
  • FileService.html #11
  • View
  • Commits
  • Open Download .zip Download (31 KB)
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>
  7. Class: HelixVersioningEngine::FileService
  8. &mdash; Documentation by YARD 0.8.7.6
  9. </title>
  10.  
  11. <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
  12.  
  13. <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
  14.  
  15. <script type="text/javascript" charset="utf-8">
  16. hasFrames = window.top.frames.main ? true : false;
  17. relpath = '../';
  18. framesUrl = "../frames.html#!HelixVersioningEngine/FileService.html";
  19. </script>
  20.  
  21.  
  22. <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
  23.  
  24. <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
  25.  
  26.  
  27. </head>
  28. <body>
  29. <div id="header">
  30. <div id="menu">
  31. <a href="../_index.html">Index (F)</a> &raquo;
  32. <span class='title'><span class='object_link'><a href="../HelixVersioningEngine.html" title="HelixVersioningEngine (module)">HelixVersioningEngine</a></span></span>
  33. &raquo;
  34. <span class="title">FileService</span>
  35.  
  36. <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
  37. </div>
  38.  
  39. <div id="search">
  40. <a class="full_list_link" id="class_list_link"
  41. href="../class_list.html">
  42. Class List
  43. </a>
  44. <a class="full_list_link" id="method_list_link"
  45. href="../method_list.html">
  46. Method List
  47. </a>
  48. <a class="full_list_link" id="file_list_link"
  49. href="../file_list.html">
  50. File List
  51. </a>
  52. </div>
  53. <div class="clear"></div>
  54. </div>
  55.  
  56. <iframe id="search_frame"></iframe>
  57.  
  58. <div id="content"><h1>Class: HelixVersioningEngine::FileService
  59. </h1>
  60.  
  61. <dl class="box">
  62. <dt class="r1">Inherits:</dt>
  63. <dd class="r1">
  64. <span class="inheritName">Object</span>
  65. <ul class="fullTree">
  66. <li>Object</li>
  67. <li class="next">HelixVersioningEngine::FileService</li>
  68. </ul>
  69. <a href="#" class="inheritanceTree">show all</a>
  70. </dd>
  71. <dt class="r2 last">Defined in:</dt>
  72. <dd class="r2 last">lib/helix_versioning_engine/file_service.rb</dd>
  73. </dl>
  74. <div class="clear"></div>
  75.  
  76. <h2>Overview</h2><div class="docstring">
  77. <div class="discussion">
  78. <p>Used to obtain consistent output to “files” commands and return output in
  79. our model format for consumption by other services.</p>
  80.  
  81.  
  82. </div>
  83. </div>
  84. <div class="tags">
  85.  
  86. </div>
  87.  
  88.  
  89.  
  90. <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
  91. <ul class="summary">
  92. <li class="public ">
  93. <span class="summary_signature">
  94. <a href="#p4-instance_method" title="#p4 (instance method)">- (Object) <strong>p4</strong> </a>
  95.  
  96. </span>
  97. <span class="note title readonly">readonly</span>
  98.  
  99. <span class="summary_desc"><div class='inline'>
  100. <p>Returns the value of attribute p4.</p>
  101. </div></span>
  102. </li>
  103.  
  104. </ul>
  105.  
  106.  
  107.  
  108.  
  109. <h2>
  110. Instance Method Summary
  111. <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
  112. </h2>
  113.  
  114. <ul class="summary">
  115. <li class="public ">
  116. <span class="summary_signature">
  117. <a href="#fetch_offset-instance_method" title="#fetch_offset (instance method)">- (Object) <strong>fetch_offset</strong> </a>
  118.  
  119. </span>
  120.  
  121. <span class="summary_desc"><div class='inline'></div></span>
  122. </li>
  123.  
  124. <li class="public ">
  125. <span class="summary_signature">
  126. <a href="#initialize-instance_method" title="#initialize (instance method)">- (FileService) <strong>initialize</strong>(p4: nil) </a>
  127.  
  128. </span>
  129. <span class="note title constructor">constructor</span>
  130.  
  131. <span class="summary_desc"><div class='inline'>
  132. <p>A new instance of FileService.</p>
  133. </div></span>
  134. </li>
  135.  
  136. <li class="public ">
  137. <span class="summary_signature">
  138. <a href="#list-instance_method" title="#list (instance method)">- (Object) <strong>list</strong>(dirs) </a>
  139.  
  140. </span>
  141.  
  142. <span class="summary_desc"><div class='inline'></div></span>
  143. </li>
  144.  
  145. <li class="public ">
  146. <span class="summary_signature">
  147. <a href="#list_depots-instance_method" title="#list_depots (instance method)">- (Object) <strong>list_depots</strong> </a>
  148.  
  149. </span>
  150.  
  151. <span class="summary_desc"><div class='inline'></div></span>
  152. </li>
  153.  
  154. <li class="public ">
  155. <span class="summary_signature">
  156. <a href="#list_dir-instance_method" title="#list_dir (instance method)">- (Object) <strong>list_dir</strong>(dirs) </a>
  157.  
  158. </span>
  159.  
  160. <span class="summary_desc"><div class='inline'></div></span>
  161. </li>
  162.  
  163. <li class="public ">
  164. <span class="summary_signature">
  165. <a href="#list_file-instance_method" title="#list_file (instance method)">- (Object) <strong>list_file</strong>(file_path) </a>
  166.  
  167. </span>
  168.  
  169. <span class="summary_desc"><div class='inline'></div></span>
  170. </li>
  171.  
  172. <li class="public ">
  173. <span class="summary_signature">
  174. <a href="#normalize_depots-instance_method" title="#normalize_depots (instance method)">- (Object) <strong>normalize_depots</strong>(results) </a>
  175.  
  176. </span>
  177.  
  178. <span class="summary_desc"><div class='inline'></div></span>
  179. </li>
  180.  
  181. <li class="public ">
  182. <span class="summary_signature">
  183. <a href="#normalize_dirs-instance_method" title="#normalize_dirs (instance method)">- (Object) <strong>normalize_dirs</strong>(results) </a>
  184.  
  185. </span>
  186.  
  187. <span class="summary_desc"><div class='inline'></div></span>
  188. </li>
  189.  
  190. <li class="public ">
  191. <span class="summary_signature">
  192. <a href="#normalize_files-instance_method" title="#normalize_files (instance method)">- (Object) <strong>normalize_files</strong>(results) </a>
  193.  
  194. </span>
  195.  
  196. <span class="summary_desc"><div class='inline'></div></span>
  197. </li>
  198.  
  199. <li class="public ">
  200. <span class="summary_signature">
  201. <a href="#offset-instance_method" title="#offset (instance method)">- (Object) <strong>offset</strong> </a>
  202.  
  203. </span>
  204.  
  205. <span class="summary_desc"><div class='inline'></div></span>
  206. </li>
  207.  
  208. </ul>
  209.  
  210. <div id="constructor_details" class="method_details_list">
  211. <h2>Constructor Details</h2>
  212. <div class="method_details first">
  213. <h3 class="signature first" id="initialize-instance_method">
  214. - (<tt><span class='object_link'><a href="" title="HelixVersioningEngine::FileService (class)">FileService</a></span></tt>) <strong>initialize</strong>(p4: nil)
  215.  
  216.  
  217. </h3><div class="docstring">
  218. <div class="discussion">
  219. <p>Returns a new instance of FileService</p>
  220.  
  221.  
  222. </div>
  223. </div>
  224. <div class="tags">
  225.  
  226. </div><table class="source_code">
  227. <tr>
  228. <td>
  229. <pre class="lines">
  230.  
  231.  
  232. 11
  233. 12
  234. 13</pre>
  235. </td>
  236. <td>
  237. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 11</span>
  238.  
  239. <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='rparen'>)</span>
  240. <span class='ivar'>@p4</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span>
  241. <span class='kw'>end</span></pre>
  242. </td>
  243. </tr>
  244. </table>
  245. </div>
  246. </div>
  247.  
  248. <div id="instance_attr_details" class="attr_details">
  249. <h2>Instance Attribute Details</h2>
  250. <span id=""></span>
  251. <div class="method_details first">
  252. <h3 class="signature first" id="p4-instance_method">
  253. - (<tt>Object</tt>) <strong>p4</strong> <span class="extras">(readonly)</span>
  254.  
  255.  
  256. </h3><div class="docstring">
  257. <div class="discussion">
  258. <p>Returns the value of attribute p4</p>
  259.  
  260.  
  261. </div>
  262. </div>
  263. <div class="tags">
  264.  
  265. </div><table class="source_code">
  266. <tr>
  267. <td>
  268. <pre class="lines">
  269.  
  270.  
  271. 9
  272. 10
  273. 11</pre>
  274. </td>
  275. <td>
  276. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 9</span>
  277.  
  278. <span class='kw'>def</span> <span class='id identifier rubyid_p4'>p4</span>
  279. <span class='ivar'>@p4</span>
  280. <span class='kw'>end</span></pre>
  281. </td>
  282. </tr>
  283. </table>
  284. </div>
  285. </div>
  286.  
  287.  
  288. <div id="instance_method_details" class="method_details_list">
  289. <h2>Instance Method Details</h2>
  290.  
  291. <div class="method_details first">
  292. <h3 class="signature first" id="fetch_offset-instance_method">
  293. - (<tt>Object</tt>) <strong>fetch_offset</strong>
  294.  
  295.  
  296. </h3><table class="source_code">
  297. <tr>
  298. <td>
  299. <pre class="lines">
  300.  
  301.  
  302. 111
  303. 112
  304. 113
  305. 114</pre>
  306. </td>
  307. <td>
  308. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 111</span>
  309.  
  310. <span class='kw'>def</span> <span class='id identifier rubyid_fetch_offset'>fetch_offset</span>
  311. <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_run_info'>run_info</span>
  312. <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_p4_date_offset'>p4_date_offset</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>serverDate</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
  313. <span class='kw'>end</span></pre>
  314. </td>
  315. </tr>
  316. </table>
  317. </div>
  318. <div class="method_details ">
  319. <h3 class="signature " id="list-instance_method">
  320. - (<tt>Object</tt>) <strong>list</strong>(dirs)
  321.  
  322.  
  323. </h3><table class="source_code">
  324. <tr>
  325. <td>
  326. <pre class="lines">
  327.  
  328.  
  329. 15
  330. 16
  331. 17
  332. 18
  333. 19
  334. 20
  335. 21</pre>
  336. </td>
  337. <td>
  338. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 15</span>
  339.  
  340. <span class='kw'>def</span> <span class='id identifier rubyid_list'>list</span><span class='lparen'>(</span><span class='id identifier rubyid_dirs'>dirs</span><span class='rparen'>)</span>
  341. <span class='kw'>if</span> <span class='id identifier rubyid_dirs'>dirs</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_dirs'>dirs</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span>
  342. <span class='id identifier rubyid_list_depots'>list_depots</span>
  343. <span class='kw'>else</span>
  344. <span class='id identifier rubyid_list_dir'>list_dir</span><span class='lparen'>(</span><span class='id identifier rubyid_dirs'>dirs</span><span class='rparen'>)</span>
  345. <span class='kw'>end</span>
  346. <span class='kw'>end</span></pre>
  347. </td>
  348. </tr>
  349. </table>
  350. </div>
  351. <div class="method_details ">
  352. <h3 class="signature " id="list_depots-instance_method">
  353. - (<tt>Object</tt>) <strong>list_depots</strong>
  354.  
  355.  
  356. </h3><table class="source_code">
  357. <tr>
  358. <td>
  359. <pre class="lines">
  360.  
  361.  
  362. 23
  363. 24
  364. 25
  365. 26
  366. 27</pre>
  367. </td>
  368. <td>
  369. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 23</span>
  370.  
  371. <span class='kw'>def</span> <span class='id identifier rubyid_list_depots'>list_depots</span>
  372. <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_run_depots'>run_depots</span>
  373. <span class='id identifier rubyid_normalize_depots'>normalize_depots</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  374. <span class='id identifier rubyid_results'>results</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_r'>r</span><span class='op'>|</span> <span class='const'>HelixWebServicesClient</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Depot</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_r'>r</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
  375. <span class='kw'>end</span></pre>
  376. </td>
  377. </tr>
  378. </table>
  379. </div>
  380. <div class="method_details ">
  381. <h3 class="signature " id="list_dir-instance_method">
  382. - (<tt>Object</tt>) <strong>list_dir</strong>(dirs)
  383.  
  384.  
  385. </h3><table class="source_code">
  386. <tr>
  387. <td>
  388. <pre class="lines">
  389.  
  390.  
  391. 47
  392. 48
  393. 49
  394. 50
  395. 51
  396. 52
  397. 53
  398. 54
  399. 55
  400. 56
  401. 57
  402. 58
  403. 59
  404. 60
  405. 61
  406. 62
  407. 63
  408. 64
  409. 65
  410. 66
  411. 67
  412. 68
  413. 69
  414. 70
  415. 71
  416. 72
  417. 73
  418. 74
  419. 75
  420. 76
  421. 77
  422. 78
  423. 79
  424. 80
  425. 81
  426. 82
  427. 83
  428. 84
  429. 85
  430. 86
  431. 87
  432. 88
  433. 89
  434. 90</pre>
  435. </td>
  436. <td>
  437. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 47</span>
  438.  
  439. <span class='kw'>def</span> <span class='id identifier rubyid_list_dir'>list_dir</span><span class='lparen'>(</span><span class='id identifier rubyid_dirs'>dirs</span><span class='rparen'>)</span>
  440. <span class='id identifier rubyid_file_selector'>file_selector</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>//</span><span class='tstring_end'>&#39;</span></span> <span class='op'>+</span> <span class='id identifier rubyid_dirs'>dirs</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
  441. <span class='id identifier rubyid_files_results'>files_results</span> <span class='op'>=</span> <span class='kw'>nil</span>
  442. <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>
  443. <span class='id identifier rubyid_files_results'>files_results</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_run_files'>run_files</span><span class='lparen'>(</span><span class='id identifier rubyid_file_selector'>file_selector</span><span class='rparen'>)</span>
  444. <span class='kw'>end</span>
  445. <span class='id identifier rubyid_files_results'>files_results</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_files_results'>files_results</span>
  446.  
  447. <span class='id identifier rubyid_return_val'>return_val</span> <span class='op'>=</span> <span class='kw'>nil</span>
  448.  
  449. <span class='kw'>if</span> <span class='id identifier rubyid_files_results'>files_results</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>1</span> <span class='op'>&amp;&amp;</span>
  450. <span class='id identifier rubyid_files_results'>files_results</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>depotFile</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span>
  451. <span class='id identifier rubyid_files_results'>files_results</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>depotFile</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='id identifier rubyid_file_selector'>file_selector</span>
  452. <span class='comment'># Treat request like a single file GET
  453. </span> <span class='id identifier rubyid_normalize_files'>normalize_files</span><span class='lparen'>(</span><span class='id identifier rubyid_files_results'>files_results</span><span class='rparen'>)</span>
  454. <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_files_results'>files_results</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
  455.  
  456. <span class='id identifier rubyid_print_results'>print_results</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_run_print'>run_print</span><span class='lparen'>(</span><span class='id identifier rubyid_file_selector'>file_selector</span><span class='rparen'>)</span>
  457.  
  458. <span class='id identifier rubyid_results'>results</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Content</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Base64</span><span class='period'>.</span><span class='id identifier rubyid_encode64'>encode64</span><span class='lparen'>(</span><span class='id identifier rubyid_print_results'>print_results</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
  459.  
  460. <span class='id identifier rubyid_return_val'>return_val</span> <span class='op'>=</span> <span class='const'>HelixWebServicesClient</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  461. <span class='kw'>else</span>
  462.  
  463. <span class='comment'># Treat request like a directory list
  464. </span> <span class='id identifier rubyid_selector'>selector</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>//</span><span class='tstring_end'>&#39;</span></span> <span class='op'>+</span> <span class='id identifier rubyid_dirs'>dirs</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>/*</span><span class='tstring_end'>&#39;</span></span>
  465.  
  466. <span class='id identifier rubyid_files_results'>files_results</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_run_files'>run_files</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>-e</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_selector'>selector</span><span class='rparen'>)</span>
  467. <span class='id identifier rubyid_normalize_files'>normalize_files</span><span class='lparen'>(</span><span class='id identifier rubyid_files_results'>files_results</span><span class='rparen'>)</span>
  468.  
  469. <span class='id identifier rubyid_items'>items</span> <span class='op'>=</span> <span class='id identifier rubyid_files_results'>files_results</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_f'>f</span><span class='op'>|</span> <span class='const'>HelixWebServicesClient</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_f'>f</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
  470.  
  471. <span class='id identifier rubyid_dirs_results'>dirs_results</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_run_dirs'>run_dirs</span><span class='lparen'>(</span><span class='id identifier rubyid_selector'>selector</span><span class='rparen'>)</span>
  472. <span class='id identifier rubyid_normalize_dirs'>normalize_dirs</span><span class='lparen'>(</span><span class='id identifier rubyid_dirs_results'>dirs_results</span><span class='rparen'>)</span>
  473.  
  474. <span class='id identifier rubyid_dirs'>dirs</span> <span class='op'>=</span> <span class='id identifier rubyid_dirs_results'>dirs_results</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_d'>d</span><span class='op'>|</span> <span class='const'>HelixWebServicesClient</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_d'>d</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
  475.  
  476. <span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_concat'>concat</span><span class='lparen'>(</span><span class='id identifier rubyid_dirs'>dirs</span><span class='rparen'>)</span>
  477.  
  478. <span class='id identifier rubyid_return_val'>return_val</span> <span class='op'>=</span> <span class='id identifier rubyid_items'>items</span>
  479. <span class='kw'>end</span>
  480.  
  481. <span class='id identifier rubyid_return_val'>return_val</span>
  482. <span class='kw'>end</span></pre>
  483. </td>
  484. </tr>
  485. </table>
  486. </div>
  487. <div class="method_details ">
  488. <h3 class="signature " id="list_file-instance_method">
  489. - (<tt>Object</tt>) <strong>list_file</strong>(file_path)
  490.  
  491.  
  492. </h3><table class="source_code">
  493. <tr>
  494. <td>
  495. <pre class="lines">
  496.  
  497.  
  498. 29
  499. 30
  500. 31
  501. 32
  502. 33
  503. 34
  504. 35
  505. 36
  506. 37
  507. 38
  508. 39
  509. 40
  510. 41
  511. 42
  512. 43
  513. 44
  514. 45</pre>
  515. </td>
  516. <td>
  517. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 29</span>
  518.  
  519. <span class='kw'>def</span> <span class='id identifier rubyid_list_file'>list_file</span><span class='lparen'>(</span><span class='id identifier rubyid_file_path'>file_path</span><span class='rparen'>)</span>
  520. <span class='id identifier rubyid_files_results'>files_results</span> <span class='op'>=</span> <span class='kw'>nil</span>
  521. <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>
  522. <span class='id identifier rubyid_files_results'>files_results</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_run_files'>run_files</span><span class='lparen'>(</span><span class='id identifier rubyid_file_path'>file_path</span><span class='rparen'>)</span>
  523. <span class='kw'>end</span>
  524.  
  525. <span class='id identifier rubyid_normalize_files'>normalize_files</span><span class='lparen'>(</span><span class='id identifier rubyid_files_results'>files_results</span><span class='rparen'>)</span>
  526. <span class='id identifier rubyid_results'>results</span> <span class='op'>=</span> <span class='id identifier rubyid_files_results'>files_results</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
  527.  
  528. <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_results'>results</span>
  529.  
  530. <span class='id identifier rubyid_print_results'>print_results</span> <span class='op'>=</span> <span class='id identifier rubyid_p4'>p4</span><span class='period'>.</span><span class='id identifier rubyid_run_print'>run_print</span><span class='lparen'>(</span><span class='id identifier rubyid_file_path'>file_path</span><span class='rparen'>)</span>
  531.  
  532. <span class='id identifier rubyid_results'>results</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Content</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Base64</span><span class='period'>.</span><span class='id identifier rubyid_encode64'>encode64</span><span class='lparen'>(</span><span class='id identifier rubyid_print_results'>print_results</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span>
  533.  
  534. <span class='const'>HelixWebServicesClient</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  535. <span class='kw'>end</span></pre>
  536. </td>
  537. </tr>
  538. </table>
  539. </div>
  540. <div class="method_details ">
  541. <h3 class="signature " id="normalize_depots-instance_method">
  542. - (<tt>Object</tt>) <strong>normalize_depots</strong>(results)
  543.  
  544.  
  545. </h3><table class="source_code">
  546. <tr>
  547. <td>
  548. <pre class="lines">
  549.  
  550.  
  551. 92
  552. 93
  553. 94
  554. 95</pre>
  555. </td>
  556. <td>
  557. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 92</span>
  558.  
  559. <span class='kw'>def</span> <span class='id identifier rubyid_normalize_depots'>normalize_depots</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  560. <span class='ivar'>@normalize_depots</span> <span class='op'>||=</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_normalizer'>normalizer</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>depots</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_offset'>offset</span><span class='rparen'>)</span>
  561. <span class='ivar'>@normalize_depots</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  562. <span class='kw'>end</span></pre>
  563. </td>
  564. </tr>
  565. </table>
  566. </div>
  567. <div class="method_details ">
  568. <h3 class="signature " id="normalize_dirs-instance_method">
  569. - (<tt>Object</tt>) <strong>normalize_dirs</strong>(results)
  570.  
  571.  
  572. </h3><table class="source_code">
  573. <tr>
  574. <td>
  575. <pre class="lines">
  576.  
  577.  
  578. 102
  579. 103
  580. 104
  581. 105</pre>
  582. </td>
  583. <td>
  584. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 102</span>
  585.  
  586. <span class='kw'>def</span> <span class='id identifier rubyid_normalize_dirs'>normalize_dirs</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  587. <span class='ivar'>@normalize_dirs</span> <span class='op'>||=</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_normalizer'>normalizer</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>dirs</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_offset'>offset</span><span class='rparen'>)</span>
  588. <span class='ivar'>@normalize_dirs</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  589. <span class='kw'>end</span></pre>
  590. </td>
  591. </tr>
  592. </table>
  593. </div>
  594. <div class="method_details ">
  595. <h3 class="signature " id="normalize_files-instance_method">
  596. - (<tt>Object</tt>) <strong>normalize_files</strong>(results)
  597.  
  598.  
  599. </h3><table class="source_code">
  600. <tr>
  601. <td>
  602. <pre class="lines">
  603.  
  604.  
  605. 97
  606. 98
  607. 99
  608. 100</pre>
  609. </td>
  610. <td>
  611. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 97</span>
  612.  
  613. <span class='kw'>def</span> <span class='id identifier rubyid_normalize_files'>normalize_files</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  614. <span class='ivar'>@normalize_files</span> <span class='op'>||=</span> <span class='const'>Util</span><span class='period'>.</span><span class='id identifier rubyid_normalizer'>normalizer</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>files</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_offset'>offset</span><span class='rparen'>)</span>
  615. <span class='ivar'>@normalize_files</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_results'>results</span><span class='rparen'>)</span>
  616. <span class='kw'>end</span></pre>
  617. </td>
  618. </tr>
  619. </table>
  620. </div>
  621. <div class="method_details ">
  622. <h3 class="signature " id="offset-instance_method">
  623. - (<tt>Object</tt>) <strong>offset</strong>
  624.  
  625.  
  626. </h3><table class="source_code">
  627. <tr>
  628. <td>
  629. <pre class="lines">
  630.  
  631.  
  632. 107
  633. 108
  634. 109</pre>
  635. </td>
  636. <td>
  637. <pre class="code"><span class="info file"># File 'lib/helix_versioning_engine/file_service.rb', line 107</span>
  638.  
  639. <span class='kw'>def</span> <span class='id identifier rubyid_offset'>offset</span>
  640. <span class='ivar'>@offset</span> <span class='op'>||=</span> <span class='id identifier rubyid_fetch_offset'>fetch_offset</span>
  641. <span class='kw'>end</span></pre>
  642. </td>
  643. </tr>
  644. </table>
  645. </div>
  646. </div>
  647.  
  648. </div>
  649.  
  650. <div id="footer">
  651. Generated on Mon Oct 12 22:20:53 2015 by
  652. <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
  653. 0.8.7.6 (ruby-2.2.3).
  654. </div>
  655.  
  656. </body>
  657. </html>
# Change User Description Committed
#11 16275 Doug Scheirer Merge from main 10 years ago
#10 16196 Doug Scheirer Merge from main 10 years ago
#9 16148 Doug Scheirer Merge from main 10 years ago
#8 16114 Doug Scheirer Merge from main 10 years ago
#7 16079 Doug Scheirer Merge from main 10 years ago
#6 16014 Doug Scheirer Merge down from main 10 years ago
#5 15884 Doug Scheirer Merge from main 10 years ago
#4 15868 Doug Scheirer Merge from main 10 years ago
#3 15845 Doug Scheirer Integ from main 10 years ago
#2 15715 Doug Scheirer merge changes from main 10 years ago
#1 15688 Doug Scheirer Populate -o //guest/perforce_software/helix-web-services/...
//guest/doug_scheirer/helix-...web-services/.... «
10 years ago
//guest/perforce_software/helix-web-services/main/build/doc/helix_web_services/HelixVersioningEngine/FileService.html
#32 15676 tjuricek HWS/NOARCH/2015.1.main/201509092205 10 years ago
#31 15589 tjuricek Update path to test output and update docs. 10 years ago
#30 15542 tjuricek Add spaces to our basic 'component encode' mechanism, and use it for HVE project IDs.

I
...n general, this will make the HVE IDs a bit more readable. «
10 years ago
#29 15517 tjuricek Do not require changelist ID for submitting Helix Sync pending changelists. 10 years ago
#28 15499 tjuricek Naive implementation of helix sync project submit for "helix versioning engine projects". 10 years ago
#27 15487 tjuricek Add basic ability to create pending changelists for helix sync projects. 10 years ago
#26 15479 tjuricek Added a basic "HVE project" implementation for creating clients. 10 years ago
#25 15447 tjuricek Add simple Example application to list "projects" in a HVE instance.

Qt's a little weir
...d to follow, so I may have to find a different kind of example to write. It does work, however. «
10 years ago
#24 15240 tjuricek Set api level via request path on all Helix Versioning Engine methods.

This will allow
... migration of applications to different P4D versions. Our internal methods (like project API) should attempt to handle backward compatibility similarly.

P4WEBAPI-118
«
10 years ago
#23 15228 tjuricek Revise triggers implementation, tests, and documentation. 10 years ago
#22 15227 tjuricek Revise implementation, tests, and documentation for protections management.

Remove some
... specs I will not be revising from the helix_web_services project. «
10 years ago
#21 15225 tjuricek Revise counter implementation, tests, and documentation

Wasn't available in the Ruby cl
...ient before, so, it's now available. «
10 years ago
#20 15222 tjuricek Revise server specs testing and documentation.

Note: also fixed issues with setting P4P
...ORT via headers. For whatever reason, the host setting doesn't seem to work like I expect it to, though P4PORT works just fine. «
10 years ago
#19 15211 tjuricek Implement tests and documentation for label spec management. 10 years ago
#18 15210 tjuricek Implement tests and documentation for job spec management. 10 years ago
#17 15209 tjuricek Implement tests and documentation for group spec management. 10 years ago
#16 15208 tjuricek Revise 'command' implementation, tests, and documentaiton.

This includes a change from
... a command blacklist to a whitelist. See P4WEBAPI-21 «
10 years ago
#15 15205 tjuricek Implemented tests and documentation for depot spec editing. 10 years ago
#14 15189 tjuricek Update files implementation, testing, and documentation. 10 years ago
#13 15185 tjuricek Update user spec management implementation, tests, and documentation. 10 years ago
#12 15144 tjuricek Setup stream spec tests and documentation.

Also revised the documentation folder http_p
...4_web_api -> helix_versioning_engine «
10 years ago
#11 15132 tjuricek Provde a basic submit -e mechanism on classic perforce workspaces. 10 years ago
#10 15110 tjuricek Revise changes methods for new p4 connection handling, add server specs, remove model refe...rences in client, and update asciidoc documentation. « 10 years ago
#9 15099 tjuricek Revise project services to be our simple 'container' for other systems. 10 years ago
#8 15098 tjuricek Revised project services to GET-only forms.

With Helix Sync revising to integrate purel
...y with Helix Cloud, this is the only thing we can reasonably define. «
10 years ago
#7 15090 tjuricek Update _proposed_ API for project services.

This is *very likely* to change, and will n
...ot be implemented until reviewed. «
10 years ago
#6 15078 tjuricek clients spec method revisions

Updated some other documentation.
10 years ago
#5 15077 tjuricek Add new 'model' technique, revised branch spec operations, test Auth::Middleware.

The R
...uby 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.
«
10 years ago
#4 15073 tjuricek Update Auth::Middleware and add spec 10 years ago
#3 15053 tjuricek Revise the client API to use the new login method.

The current specs will need to be re
...vised since data normalization is moving out of the server and into the client. «
10 years ago
#2 15038 tjuricek Document 'login' auth method and client programming overview. 10 years ago
#1 15032 tjuricek Starting config and doc revisions.
System is now broken while revisions underway.

Conf
...iguration 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.
«
10 years ago