~cgb-cs/appscale/appscale-main

« back to all changes in this revision

Viewing changes to AppController/coverage/lib-datastore_repo_rb.html

  • Committer: Chris Bunch
  • Date: 2012-02-26 03:20:57 UTC
  • Revision ID: cgb@cs.ucsb.edu-20120226032057-ad0cy0zgx4we4exc
adding in repo over app engine support, and tests for most of datastore repo on appscale and s3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
2
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
 
3
  <head>
 
4
    <title>lib/datastore_repo.rb</title>
 
5
    <link href="screen.css" media="all" rel="stylesheet" type="text/css" />
 
6
    <link href="print.css" media="print" rel="stylesheet" type="text/css" />
 
7
    
 
8
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
 
9
    <script type="text/javascript" src="rcov.js"></script>
 
10
  </head>
 
11
  <body>
 
12
    <h1>Appcontroller C0 Coverage Information - RCov</h1>
 
13
    <h2>lib/datastore_repo.rb</h2>
 
14
 
 
15
    
 
16
 
 
17
    <div class="report_table_wrapper">
 
18
      <table class='report' id='report_table'>
 
19
        <thead>
 
20
          <tr>
 
21
            <th class="left_align">Name</th>
 
22
            <th class="right_align">Total Lines</th>
 
23
            <th class="right_align">Lines of Code</th>
 
24
            <th class="left_align">Total Coverage</th>
 
25
            <th class="left_align">Code Coverage</th>
 
26
          </tr>
 
27
        </thead>
 
28
        <tbody>
 
29
          <tr>
 
30
            <td class="left_align"><a href="lib-datastore_repo_rb.html">lib/datastore_repo.rb</a></td>
 
31
            <td class='right_align'><tt>137</tt></td>
 
32
            <td class='right_align'><tt>82</tt></td>
 
33
            <td class="left_align"><div class="percent_graph_legend"><tt class=''>100.00%</tt></div>
 
34
          <div class="percent_graph">
 
35
            <div class="covered" style="width:100px"></div>
 
36
            <div class="uncovered" style="width:0px"></div>
 
37
          </div></td>
 
38
            <td class="left_align"><div class="percent_graph_legend"><tt class=''>100.00%</tt></div>
 
39
          <div class="percent_graph">
 
40
            <div class="covered" style="width:100px"></div>
 
41
            <div class="uncovered" style="width:0px"></div>
 
42
          </div></td>
 
43
          </tr>
 
44
        </tbody>
 
45
      </table>
 
46
    </div>
 
47
    
 
48
    <h3>Key</h3>
 
49
    
 
50
    <div class="key"><pre><span class='marked'>Code reported as executed by Ruby looks like this...</span><span class='marked1'>and this: this line is also marked as covered.</span><span class='inferred'>Lines considered as run by rcov, but not reported by Ruby, look like this,</span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).</span><span class='uncovered'>Finally, here's a line marked as not executed.</span></pre></div>
 
51
 
 
52
    <h3>Coverage Details</h3>
 
53
 
 
54
    <table class="details">
 
55
      <tbody>
 
56
        
 
57
          
 
58
          
 
59
          <tr class="inferred">
 
60
            <td><pre><a name="line1">1</a> # Programmer: Chris Bunch</pre></td>
 
61
          </tr>
 
62
        
 
63
          
 
64
          
 
65
          <tr class="inferred">
 
66
            <td><pre><a name="line2">2</a> </pre></td>
 
67
          </tr>
 
68
        
 
69
          
 
70
          
 
71
          <tr class="inferred">
 
72
            <td><pre><a name="line3">3</a> </pre></td>
 
73
          </tr>
 
74
        
 
75
          
 
76
          
 
77
          <tr class="marked">
 
78
            <td><pre><a name="line4">4</a> require 'datastore'</pre></td>
 
79
          </tr>
 
80
        
 
81
          
 
82
          
 
83
          <tr class="marked">
 
84
            <td><pre><a name="line5">5</a> require 'repo'</pre></td>
 
85
          </tr>
 
86
        
 
87
          
 
88
          
 
89
          <tr class="inferred">
 
90
            <td><pre><a name="line6">6</a> </pre></td>
 
91
          </tr>
 
92
        
 
93
          
 
94
          
 
95
          <tr class="inferred">
 
96
            <td><pre><a name="line7">7</a> </pre></td>
 
97
          </tr>
 
98
        
 
99
          
 
100
          
 
101
          <tr class="inferred">
 
102
            <td><pre><a name="line8">8</a> # A class that abstracts away access to our Repository application (also known</pre></td>
 
103
          </tr>
 
104
        
 
105
          
 
106
          
 
107
          <tr class="inferred">
 
108
            <td><pre><a name="line9">9</a> # as the Repo). Since it's a web application, it can be hosted anywhere, and thus</pre></td>
 
109
          </tr>
 
110
        
 
111
          
 
112
          
 
113
          <tr class="inferred">
 
114
            <td><pre><a name="line10">10</a> # this class dictates what we expect the application to return. Implementers of</pre></td>
 
115
          </tr>
 
116
        
 
117
          
 
118
          
 
119
          <tr class="inferred">
 
120
            <td><pre><a name="line11">11</a> # this class need only tell us where we can expect to find the Repo application</pre></td>
 
121
          </tr>
 
122
        
 
123
          
 
124
          
 
125
          <tr class="inferred">
 
126
            <td><pre><a name="line12">12</a> # and how to make sure it's running there.</pre></td>
 
127
          </tr>
 
128
        
 
129
          
 
130
          
 
131
          <tr class="marked">
 
132
            <td><pre><a name="line13">13</a> class DatastoreRepo</pre></td>
 
133
          </tr>
 
134
        
 
135
          
 
136
          
 
137
          <tr class="inferred">
 
138
            <td><pre><a name="line14">14</a> </pre></td>
 
139
          </tr>
 
140
        
 
141
          
 
142
          
 
143
          <tr class="inferred">
 
144
            <td><pre><a name="line15">15</a>   </pre></td>
 
145
          </tr>
 
146
        
 
147
          
 
148
          
 
149
          <tr class="inferred">
 
150
            <td><pre><a name="line16">16</a>   # The host (IP:port) that the Repo app is hosted at.</pre></td>
 
151
          </tr>
 
152
        
 
153
          
 
154
          
 
155
          <tr class="marked">
 
156
            <td><pre><a name="line17">17</a>   attr_accessor :host</pre></td>
 
157
          </tr>
 
158
        
 
159
          
 
160
          
 
161
          <tr class="inferred">
 
162
            <td><pre><a name="line18">18</a> </pre></td>
 
163
          </tr>
 
164
        
 
165
          
 
166
          
 
167
          <tr class="inferred">
 
168
            <td><pre><a name="line19">19</a> </pre></td>
 
169
          </tr>
 
170
        
 
171
          
 
172
          
 
173
          <tr class="inferred">
 
174
            <td><pre><a name="line20">20</a>   # The name of this datastore, which DatastoreFactory will use to find this</pre></td>
 
175
          </tr>
 
176
        
 
177
          
 
178
          
 
179
          <tr class="inferred">
 
180
            <td><pre><a name="line21">21</a>   # Datastore. Implementers should use a unique name amongst Datastore</pre></td>
 
181
          </tr>
 
182
        
 
183
          
 
184
          
 
185
          <tr class="inferred">
 
186
            <td><pre><a name="line22">22</a>   # implementers.</pre></td>
 
187
          </tr>
 
188
        
 
189
          
 
190
          
 
191
          <tr class="marked">
 
192
            <td><pre><a name="line23">23</a>   NAME = &quot;&quot;</pre></td>
 
193
          </tr>
 
194
        
 
195
          
 
196
          
 
197
          <tr class="inferred">
 
198
            <td><pre><a name="line24">24</a> </pre></td>
 
199
          </tr>
 
200
        
 
201
          
 
202
          
 
203
          <tr class="inferred">
 
204
            <td><pre><a name="line25">25</a>   </pre></td>
 
205
          </tr>
 
206
        
 
207
          
 
208
          
 
209
          <tr class="inferred">
 
210
            <td><pre><a name="line26">26</a>   # Creates a new connection to the Repo running on AppScale. Since AppScale</pre></td>
 
211
          </tr>
 
212
        
 
213
          
 
214
          
 
215
          <tr class="inferred">
 
216
            <td><pre><a name="line27">27</a>   # starts the Repo automatically, this initialization does not start it</pre></td>
 
217
          </tr>
 
218
        
 
219
          
 
220
          
 
221
          <tr class="inferred">
 
222
            <td><pre><a name="line28">28</a>   # or verify that it is running (although it perhaps should do the latter).</pre></td>
 
223
          </tr>
 
224
        
 
225
          
 
226
          
 
227
          <tr class="marked">
 
228
            <td><pre><a name="line29">29</a>   def initialize(credentials)</pre></td>
 
229
          </tr>
 
230
        
 
231
          
 
232
          
 
233
          <tr class="marked">
 
234
            <td><pre><a name="line30">30</a>     raise NotImplementedError.new(&quot;Can't init an abstract Repo&quot;)</pre></td>
 
235
          </tr>
 
236
        
 
237
          
 
238
          
 
239
          <tr class="inferred">
 
240
            <td><pre><a name="line31">31</a>   end</pre></td>
 
241
          </tr>
 
242
        
 
243
          
 
244
          
 
245
          <tr class="inferred">
 
246
            <td><pre><a name="line32">32</a> </pre></td>
 
247
          </tr>
 
248
        
 
249
          
 
250
          
 
251
          <tr class="inferred">
 
252
            <td><pre><a name="line33">33</a> </pre></td>
 
253
          </tr>
 
254
        
 
255
          
 
256
          
 
257
          <tr class="inferred">
 
258
            <td><pre><a name="line34">34</a>   # Writes the contents of the remotely specified file to the local filesystem.</pre></td>
 
259
          </tr>
 
260
        
 
261
          
 
262
          
 
263
          <tr class="marked">
 
264
            <td><pre><a name="line35">35</a>   def get_output_and_save_to_fs(repo_path, local_path)</pre></td>
 
265
          </tr>
 
266
        
 
267
          
 
268
          
 
269
          <tr class="marked">
 
270
            <td><pre><a name="line36">36</a>     data = get_output_and_return_contents(repo_path)</pre></td>
 
271
          </tr>
 
272
        
 
273
          
 
274
          
 
275
          <tr class="marked">
 
276
            <td><pre><a name="line37">37</a>     HelperFunctions.write_file(local_path, data)</pre></td>
 
277
          </tr>
 
278
        
 
279
          
 
280
          
 
281
          <tr class="inferred">
 
282
            <td><pre><a name="line38">38</a>   end</pre></td>
 
283
          </tr>
 
284
        
 
285
          
 
286
          
 
287
          <tr class="inferred">
 
288
            <td><pre><a name="line39">39</a> </pre></td>
 
289
          </tr>
 
290
        
 
291
          
 
292
          
 
293
          <tr class="inferred">
 
294
            <td><pre><a name="line40">40</a> </pre></td>
 
295
          </tr>
 
296
        
 
297
          
 
298
          
 
299
          <tr class="inferred">
 
300
            <td><pre><a name="line41">41</a>   # Returns the output of the given file as a string.</pre></td>
 
301
          </tr>
 
302
        
 
303
          
 
304
          
 
305
          <tr class="marked">
 
306
            <td><pre><a name="line42">42</a>   def get_output_and_return_contents(repo_path)</pre></td>
 
307
          </tr>
 
308
        
 
309
          
 
310
          
 
311
          <tr class="marked">
 
312
            <td><pre><a name="line43">43</a>     Djinn.log_debug(&quot;Attempting to get output for file [#{repo_path}]&quot;)</pre></td>
 
313
          </tr>
 
314
        
 
315
          
 
316
          
 
317
          <tr class="marked">
 
318
            <td><pre><a name="line44">44</a>     return do_http_get_for_get(repo_path, :output)</pre></td>
 
319
          </tr>
 
320
        
 
321
          
 
322
          
 
323
          <tr class="inferred">
 
324
            <td><pre><a name="line45">45</a>   end</pre></td>
 
325
          </tr>
 
326
        
 
327
          
 
328
          
 
329
          <tr class="inferred">
 
330
            <td><pre><a name="line46">46</a> </pre></td>
 
331
          </tr>
 
332
        
 
333
          
 
334
          
 
335
          <tr class="inferred">
 
336
            <td><pre><a name="line47">47</a> </pre></td>
 
337
          </tr>
 
338
        
 
339
          
 
340
          
 
341
          <tr class="inferred">
 
342
            <td><pre><a name="line48">48</a>   # Writes the contents of the given file to a file hosted in the Repo.</pre></td>
 
343
          </tr>
 
344
        
 
345
          
 
346
          
 
347
          <tr class="inferred">
 
348
            <td><pre><a name="line49">49</a>   # If the given file is a directory, we also write all files / directories</pre></td>
 
349
          </tr>
 
350
        
 
351
          
 
352
          
 
353
          <tr class="inferred">
 
354
            <td><pre><a name="line50">50</a>   # found in that directory.</pre></td>
 
355
          </tr>
 
356
        
 
357
          
 
358
          
 
359
          <tr class="marked">
 
360
            <td><pre><a name="line51">51</a>   def write_remote_file_from_local_file(repo_path, local_path)</pre></td>
 
361
          </tr>
 
362
        
 
363
          
 
364
          
 
365
          <tr class="marked">
 
366
            <td><pre><a name="line52">52</a>     if File.directory?(local_path)</pre></td>
 
367
          </tr>
 
368
        
 
369
          
 
370
          
 
371
          <tr class="marked">
 
372
            <td><pre><a name="line53">53</a>       files_to_upload = HelperFunctions.shell(&quot;ls #{local_path}&quot;)</pre></td>
 
373
          </tr>
 
374
        
 
375
          
 
376
          
 
377
          <tr class="marked">
 
378
            <td><pre><a name="line54">54</a>       files_to_upload.split.each { |file|</pre></td>
 
379
          </tr>
 
380
        
 
381
          
 
382
          
 
383
          <tr class="marked">
 
384
            <td><pre><a name="line55">55</a>         full_repo_path = repo_path + &quot;/&quot; + file</pre></td>
 
385
          </tr>
 
386
        
 
387
          
 
388
          
 
389
          <tr class="marked">
 
390
            <td><pre><a name="line56">56</a>         full_local_path = local_path + &quot;/&quot; + file</pre></td>
 
391
          </tr>
 
392
        
 
393
          
 
394
          
 
395
          <tr class="marked">
 
396
            <td><pre><a name="line57">57</a>         Djinn.log_debug(&quot;Recursive dive - now saving remote &quot; +</pre></td>
 
397
          </tr>
 
398
        
 
399
          
 
400
          
 
401
          <tr class="inferred">
 
402
            <td><pre><a name="line58">58</a>           &quot;[#{full_repo_path}], local [#{full_local_path}]&quot;)</pre></td>
 
403
          </tr>
 
404
        
 
405
          
 
406
          
 
407
          <tr class="marked">
 
408
            <td><pre><a name="line59">59</a>         temp = write_remote_file_from_local_file(full_repo_path, full_local_path)</pre></td>
 
409
          </tr>
 
410
        
 
411
          
 
412
          
 
413
          <tr class="marked">
 
414
            <td><pre><a name="line60">60</a>         if !temp</pre></td>
 
415
          </tr>
 
416
        
 
417
          
 
418
          
 
419
          <tr class="marked">
 
420
            <td><pre><a name="line61">61</a>           Djinn.log_debug(&quot;Setting remote [#{full_repo_path}] failed - reported [#{temp}]&quot;)</pre></td>
 
421
          </tr>
 
422
        
 
423
          
 
424
          
 
425
          <tr class="marked">
 
426
            <td><pre><a name="line62">62</a>           return false</pre></td>
 
427
          </tr>
 
428
        
 
429
          
 
430
          
 
431
          <tr class="inferred">
 
432
            <td><pre><a name="line63">63</a>         end</pre></td>
 
433
          </tr>
 
434
        
 
435
          
 
436
          
 
437
          <tr class="inferred">
 
438
            <td><pre><a name="line64">64</a>       }</pre></td>
 
439
          </tr>
 
440
        
 
441
          
 
442
          
 
443
          <tr class="inferred">
 
444
            <td><pre><a name="line65">65</a> </pre></td>
 
445
          </tr>
 
446
        
 
447
          
 
448
          
 
449
          <tr class="marked">
 
450
            <td><pre><a name="line66">66</a>       return true</pre></td>
 
451
          </tr>
 
452
        
 
453
          
 
454
          
 
455
          <tr class="inferred">
 
456
            <td><pre><a name="line67">67</a>     else</pre></td>
 
457
          </tr>
 
458
        
 
459
          
 
460
          
 
461
          <tr class="marked">
 
462
            <td><pre><a name="line68">68</a>       Djinn.log_debug(&quot;Attempting to put local file #{local_path} into file #{repo_path}&quot;)</pre></td>
 
463
          </tr>
 
464
        
 
465
          
 
466
          
 
467
          <tr class="marked">
 
468
            <td><pre><a name="line69">69</a>       val = HelperFunctions.read_file(local_path, chomp=false)</pre></td>
 
469
          </tr>
 
470
        
 
471
          
 
472
          
 
473
          <tr class="marked">
 
474
            <td><pre><a name="line70">70</a>       return do_http_post_for_set(repo_path, :output, val)</pre></td>
 
475
          </tr>
 
476
        
 
477
          
 
478
          
 
479
          <tr class="inferred">
 
480
            <td><pre><a name="line71">71</a>     end</pre></td>
 
481
          </tr>
 
482
        
 
483
          
 
484
          
 
485
          <tr class="inferred">
 
486
            <td><pre><a name="line72">72</a>   end</pre></td>
 
487
          </tr>
 
488
        
 
489
          
 
490
          
 
491
          <tr class="inferred">
 
492
            <td><pre><a name="line73">73</a> </pre></td>
 
493
          </tr>
 
494
        
 
495
          
 
496
          
 
497
          <tr class="inferred">
 
498
            <td><pre><a name="line74">74</a> </pre></td>
 
499
          </tr>
 
500
        
 
501
          
 
502
          
 
503
          <tr class="inferred">
 
504
            <td><pre><a name="line75">75</a>   # Writes the contents of the given string to a file hosted in the Repo.</pre></td>
 
505
          </tr>
 
506
        
 
507
          
 
508
          
 
509
          <tr class="marked">
 
510
            <td><pre><a name="line76">76</a>   def write_remote_file_from_string(repo_path, string)</pre></td>
 
511
          </tr>
 
512
        
 
513
          
 
514
          
 
515
          <tr class="marked">
 
516
            <td><pre><a name="line77">77</a>     Djinn.log_debug(&quot;Attempting to put local file into location #{repo_path}&quot;)</pre></td>
 
517
          </tr>
 
518
        
 
519
          
 
520
          
 
521
          <tr class="marked">
 
522
            <td><pre><a name="line78">78</a>     return do_http_post_for_set(repo_path, :output, string)</pre></td>
 
523
          </tr>
 
524
        
 
525
          
 
526
          
 
527
          <tr class="inferred">
 
528
            <td><pre><a name="line79">79</a>   end</pre></td>
 
529
          </tr>
 
530
        
 
531
          
 
532
          
 
533
          <tr class="inferred">
 
534
            <td><pre><a name="line80">80</a> </pre></td>
 
535
          </tr>
 
536
        
 
537
          
 
538
          
 
539
          <tr class="inferred">
 
540
            <td><pre><a name="line81">81</a> </pre></td>
 
541
          </tr>
 
542
        
 
543
          
 
544
          
 
545
          <tr class="inferred">
 
546
            <td><pre><a name="line82">82</a>   # Retrieves the access policy for the given file.</pre></td>
 
547
          </tr>
 
548
        
 
549
          
 
550
          
 
551
          <tr class="marked">
 
552
            <td><pre><a name="line83">83</a>   def get_acl(repo_path)</pre></td>
 
553
          </tr>
 
554
        
 
555
          
 
556
          
 
557
          <tr class="marked">
 
558
            <td><pre><a name="line84">84</a>     Djinn.log_debug(&quot;Attempting to get acl for file [#{repo_path}]&quot;)</pre></td>
 
559
          </tr>
 
560
        
 
561
          
 
562
          
 
563
          <tr class="marked">
 
564
            <td><pre><a name="line85">85</a>     return do_http_get_for_get(repo_path, :acl)</pre></td>
 
565
          </tr>
 
566
        
 
567
          
 
568
          
 
569
          <tr class="inferred">
 
570
            <td><pre><a name="line86">86</a>   end</pre></td>
 
571
          </tr>
 
572
        
 
573
          
 
574
          
 
575
          <tr class="inferred">
 
576
            <td><pre><a name="line87">87</a> </pre></td>
 
577
          </tr>
 
578
        
 
579
          
 
580
          
 
581
          <tr class="inferred">
 
582
            <td><pre><a name="line88">88</a> </pre></td>
 
583
          </tr>
 
584
        
 
585
          
 
586
          
 
587
          <tr class="inferred">
 
588
            <td><pre><a name="line89">89</a>   # Sets the access policy for the given file hosted in the Repo.</pre></td>
 
589
          </tr>
 
590
        
 
591
          
 
592
          
 
593
          <tr class="marked">
 
594
            <td><pre><a name="line90">90</a>   def set_acl(repo_path, acl)</pre></td>
 
595
          </tr>
 
596
        
 
597
          
 
598
          
 
599
          <tr class="marked">
 
600
            <td><pre><a name="line91">91</a>     Djinn.log_debug(&quot;Attempting to set acl to [#{acl}] for file #{repo_path}&quot;)</pre></td>
 
601
          </tr>
 
602
        
 
603
          
 
604
          
 
605
          <tr class="marked">
 
606
            <td><pre><a name="line92">92</a>     return do_http_post_for_set(repo_path, :acl, acl)</pre></td>
 
607
          </tr>
 
608
        
 
609
          
 
610
          
 
611
          <tr class="inferred">
 
612
            <td><pre><a name="line93">93</a>   end</pre></td>
 
613
          </tr>
 
614
        
 
615
          
 
616
          
 
617
          <tr class="inferred">
 
618
            <td><pre><a name="line94">94</a> </pre></td>
 
619
          </tr>
 
620
        
 
621
          
 
622
          
 
623
          <tr class="inferred">
 
624
            <td><pre><a name="line95">95</a> </pre></td>
 
625
          </tr>
 
626
        
 
627
          
 
628
          
 
629
          <tr class="inferred">
 
630
            <td><pre><a name="line96">96</a>   # Queries the Repo app to see if the given file exists.</pre></td>
 
631
          </tr>
 
632
        
 
633
          
 
634
          
 
635
          <tr class="marked">
 
636
            <td><pre><a name="line97">97</a>   def does_file_exist?(repo_path)</pre></td>
 
637
          </tr>
 
638
        
 
639
          
 
640
          
 
641
          <tr class="marked">
 
642
            <td><pre><a name="line98">98</a>     Djinn.log_debug(&quot;Performing a does_file_exist? on file [#{repo_path}]&quot;)</pre></td>
 
643
          </tr>
 
644
        
 
645
          
 
646
          
 
647
          <tr class="marked">
 
648
            <td><pre><a name="line99">99</a>     exists_url = &quot;http://#{@host}/doesexist&quot;</pre></td>
 
649
          </tr>
 
650
        
 
651
          
 
652
          
 
653
          <tr class="marked">
 
654
            <td><pre><a name="line100">100</a>     params = {'SECRET' =&gt; HelperFunctions.get_secret(), 'KEY' =&gt; repo_path}</pre></td>
 
655
          </tr>
 
656
        
 
657
          
 
658
          
 
659
          <tr class="marked">
 
660
            <td><pre><a name="line101">101</a>     result = Net::HTTP.post_form(URI.parse(exists_url), params).body</pre></td>
 
661
          </tr>
 
662
        
 
663
          
 
664
          
 
665
          <tr class="marked">
 
666
            <td><pre><a name="line102">102</a>     if result == &quot;true&quot;</pre></td>
 
667
          </tr>
 
668
        
 
669
          
 
670
          
 
671
          <tr class="marked">
 
672
            <td><pre><a name="line103">103</a>       return true</pre></td>
 
673
          </tr>
 
674
        
 
675
          
 
676
          
 
677
          <tr class="inferred">
 
678
            <td><pre><a name="line104">104</a>     else</pre></td>
 
679
          </tr>
 
680
        
 
681
          
 
682
          
 
683
          <tr class="marked">
 
684
            <td><pre><a name="line105">105</a>       return false</pre></td>
 
685
          </tr>
 
686
        
 
687
          
 
688
          
 
689
          <tr class="inferred">
 
690
            <td><pre><a name="line106">106</a>     end</pre></td>
 
691
          </tr>
 
692
        
 
693
          
 
694
          
 
695
          <tr class="inferred">
 
696
            <td><pre><a name="line107">107</a>   end</pre></td>
 
697
          </tr>
 
698
        
 
699
          
 
700
          
 
701
          <tr class="inferred">
 
702
            <td><pre><a name="line108">108</a> </pre></td>
 
703
          </tr>
 
704
        
 
705
          
 
706
          
 
707
          <tr class="inferred">
 
708
            <td><pre><a name="line109">109</a> </pre></td>
 
709
          </tr>
 
710
        
 
711
          
 
712
          
 
713
          <tr class="inferred">
 
714
            <td><pre><a name="line110">110</a>   # A convenience method that can be used to perform GET requests on the</pre></td>
 
715
          </tr>
 
716
        
 
717
          
 
718
          
 
719
          <tr class="inferred">
 
720
            <td><pre><a name="line111">111</a>   # Repo app, returning whatever it returns.</pre></td>
 
721
          </tr>
 
722
        
 
723
          
 
724
          
 
725
          <tr class="marked">
 
726
            <td><pre><a name="line112">112</a>   def do_http_get_for_get(repo_path, type)</pre></td>
 
727
          </tr>
 
728
        
 
729
          
 
730
          
 
731
          <tr class="marked">
 
732
            <td><pre><a name="line113">113</a>     Djinn.log_debug(&quot;Performing a get on key [#{repo_path}], type [#{type}]&quot;)</pre></td>
 
733
          </tr>
 
734
        
 
735
          
 
736
          
 
737
          <tr class="marked">
 
738
            <td><pre><a name="line114">114</a>     get_url = &quot;http://#{@host}/get&quot;</pre></td>
 
739
          </tr>
 
740
        
 
741
          
 
742
          
 
743
          <tr class="marked">
 
744
            <td><pre><a name="line115">115</a>     params = {'SECRET' =&gt; HelperFunctions.get_secret(), 'KEY' =&gt; repo_path, </pre></td>
 
745
          </tr>
 
746
        
 
747
          
 
748
          
 
749
          <tr class="inferred">
 
750
            <td><pre><a name="line116">116</a>       'TYPE' =&gt; type}</pre></td>
 
751
          </tr>
 
752
        
 
753
          
 
754
          
 
755
          <tr class="marked">
 
756
            <td><pre><a name="line117">117</a>     data = Net::HTTP.post_form(URI.parse(get_url), params).body</pre></td>
 
757
          </tr>
 
758
        
 
759
          
 
760
          
 
761
          <tr class="marked">
 
762
            <td><pre><a name="line118">118</a>     return Base64.decode64(data)</pre></td>
 
763
          </tr>
 
764
        
 
765
          
 
766
          
 
767
          <tr class="inferred">
 
768
            <td><pre><a name="line119">119</a>   end</pre></td>
 
769
          </tr>
 
770
        
 
771
          
 
772
          
 
773
          <tr class="inferred">
 
774
            <td><pre><a name="line120">120</a> </pre></td>
 
775
          </tr>
 
776
        
 
777
          
 
778
          
 
779
          <tr class="inferred">
 
780
            <td><pre><a name="line121">121</a> </pre></td>
 
781
          </tr>
 
782
        
 
783
          
 
784
          
 
785
          <tr class="inferred">
 
786
            <td><pre><a name="line122">122</a>   # A convenience method that can be used to perform POST requests on the</pre></td>
 
787
          </tr>
 
788
        
 
789
          
 
790
          
 
791
          <tr class="inferred">
 
792
            <td><pre><a name="line123">123</a>   # Repo app, returning a boolean corresponding to if the operation succeeded.</pre></td>
 
793
          </tr>
 
794
        
 
795
          
 
796
          
 
797
          <tr class="marked">
 
798
            <td><pre><a name="line124">124</a>   def do_http_post_for_set(repo_path, type, val)</pre></td>
 
799
          </tr>
 
800
        
 
801
          
 
802
          
 
803
          <tr class="marked">
 
804
            <td><pre><a name="line125">125</a>     encoded_val = Base64.encode64(val)</pre></td>
 
805
          </tr>
 
806
        
 
807
          
 
808
          
 
809
          <tr class="marked">
 
810
            <td><pre><a name="line126">126</a>     set_url = &quot;http://#{@host}/set&quot;</pre></td>
 
811
          </tr>
 
812
        
 
813
          
 
814
          
 
815
          <tr class="marked">
 
816
            <td><pre><a name="line127">127</a>     params = {'SECRET' =&gt; HelperFunctions.get_secret(), 'KEY' =&gt; repo_path,</pre></td>
 
817
          </tr>
 
818
        
 
819
          
 
820
          
 
821
          <tr class="inferred">
 
822
            <td><pre><a name="line128">128</a>       'VALUE' =&gt; encoded_val, 'TYPE' =&gt; type}</pre></td>
 
823
          </tr>
 
824
        
 
825
          
 
826
          
 
827
          <tr class="marked">
 
828
            <td><pre><a name="line129">129</a>     result = Net::HTTP.post_form(URI.parse(set_url), params).body</pre></td>
 
829
          </tr>
 
830
        
 
831
          
 
832
          
 
833
          <tr class="marked">
 
834
            <td><pre><a name="line130">130</a>     Djinn.log_debug(&quot;set key=#{repo_path} type=#{type} returned #{result}&quot;)</pre></td>
 
835
          </tr>
 
836
        
 
837
          
 
838
          
 
839
          <tr class="marked">
 
840
            <td><pre><a name="line131">131</a>     if result == &quot;success&quot;</pre></td>
 
841
          </tr>
 
842
        
 
843
          
 
844
          
 
845
          <tr class="marked">
 
846
            <td><pre><a name="line132">132</a>       return true</pre></td>
 
847
          </tr>
 
848
        
 
849
          
 
850
          
 
851
          <tr class="inferred">
 
852
            <td><pre><a name="line133">133</a>     else</pre></td>
 
853
          </tr>
 
854
        
 
855
          
 
856
          
 
857
          <tr class="marked">
 
858
            <td><pre><a name="line134">134</a>       return false</pre></td>
 
859
          </tr>
 
860
        
 
861
          
 
862
          
 
863
          <tr class="inferred">
 
864
            <td><pre><a name="line135">135</a>     end</pre></td>
 
865
          </tr>
 
866
        
 
867
          
 
868
          
 
869
          <tr class="inferred">
 
870
            <td><pre><a name="line136">136</a>   end</pre></td>
 
871
          </tr>
 
872
        
 
873
          
 
874
          
 
875
          <tr class="inferred">
 
876
            <td><pre><a name="line137">137</a> end</pre></td>
 
877
          </tr>
 
878
        
 
879
      </tbody>
 
880
    </table>
 
881
 
 
882
    <p>Generated on Sat Feb 25 19:19:09 -0800 2012 with <a href="http://github.com/relevance/rcov">rcov 0.9.8</a></p>
 
883
 
 
884
  </body>
 
885
</html>