swd 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,537 @@
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/swd/resource.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>Swd C0 Coverage Information - RCov</h1>
13
+ <h2>lib/swd/resource.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-swd-resource_rb.html">lib/swd/resource.rb</a></td>
31
+ <td class='right_align'><tt>79</tt></td>
32
+ <td class='right_align'><tt>70</tt></td>
33
+ <td class="left_align"><div class="percent_graph_legend"><tt class=''>98.73%</tt></div>
34
+ <div class="percent_graph">
35
+ <div class="covered" style="width:99px"></div>
36
+ <div class="uncovered" style="width:1px"></div>
37
+ </div></td>
38
+ <td class="left_align"><div class="percent_graph_legend"><tt class=''>98.57%</tt></div>
39
+ <div class="percent_graph">
40
+ <div class="covered" style="width:99px"></div>
41
+ <div class="uncovered" style="width:1px"></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="marked">
60
+ <td><pre><a name="line1">1</a> require 'digest/md5'</pre></td>
61
+ </tr>
62
+
63
+
64
+
65
+ <tr class="marked">
66
+ <td><pre><a name="line2">2</a> require 'json'</pre></td>
67
+ </tr>
68
+
69
+
70
+
71
+ <tr class="marked">
72
+ <td><pre><a name="line3">3</a> require 'httpclient'</pre></td>
73
+ </tr>
74
+
75
+
76
+
77
+ <tr class="marked">
78
+ <td><pre><a name="line4">4</a> require 'active_support/core_ext'</pre></td>
79
+ </tr>
80
+
81
+
82
+
83
+ <tr class="marked">
84
+ <td><pre><a name="line5">5</a> require 'attr_required'</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="marked">
96
+ <td><pre><a name="line7">7</a> module SWD</pre></td>
97
+ </tr>
98
+
99
+
100
+
101
+ <tr class="marked">
102
+ <td><pre><a name="line8">8</a> class Resource</pre></td>
103
+ </tr>
104
+
105
+
106
+
107
+ <tr class="marked">
108
+ <td><pre><a name="line9">9</a> include AttrRequired</pre></td>
109
+ </tr>
110
+
111
+
112
+
113
+ <tr class="marked">
114
+ <td><pre><a name="line10">10</a> attr_required :principal, :service, :host, :path</pre></td>
115
+ </tr>
116
+
117
+
118
+
119
+ <tr class="inferred">
120
+ <td><pre><a name="line11">11</a> </pre></td>
121
+ </tr>
122
+
123
+
124
+
125
+ <tr class="marked">
126
+ <td><pre><a name="line12">12</a> class ContentExpired &lt; Exception; end</pre></td>
127
+ </tr>
128
+
129
+
130
+
131
+ <tr class="inferred">
132
+ <td><pre><a name="line13">13</a> </pre></td>
133
+ </tr>
134
+
135
+
136
+
137
+ <tr class="marked">
138
+ <td><pre><a name="line14">14</a> def initialize(attributes = {})</pre></td>
139
+ </tr>
140
+
141
+
142
+
143
+ <tr class="marked">
144
+ <td><pre><a name="line15">15</a> required_attributes.each do |key|</pre></td>
145
+ </tr>
146
+
147
+
148
+
149
+ <tr class="marked">
150
+ <td><pre><a name="line16">16</a> self.send &quot;#{key}=&quot;, attributes[key]</pre></td>
151
+ </tr>
152
+
153
+
154
+
155
+ <tr class="inferred">
156
+ <td><pre><a name="line17">17</a> end</pre></td>
157
+ </tr>
158
+
159
+
160
+
161
+ <tr class="marked">
162
+ <td><pre><a name="line18">18</a> @path ||= '/.well-known/simple-web-discovery'</pre></td>
163
+ </tr>
164
+
165
+
166
+
167
+ <tr class="marked">
168
+ <td><pre><a name="line19">19</a> @cache_options = attributes[:cache] || {}</pre></td>
169
+ </tr>
170
+
171
+
172
+
173
+ <tr class="marked">
174
+ <td><pre><a name="line20">20</a> attr_missing!</pre></td>
175
+ </tr>
176
+
177
+
178
+
179
+ <tr class="inferred">
180
+ <td><pre><a name="line21">21</a> end</pre></td>
181
+ </tr>
182
+
183
+
184
+
185
+ <tr class="inferred">
186
+ <td><pre><a name="line22">22</a> </pre></td>
187
+ </tr>
188
+
189
+
190
+
191
+ <tr class="marked">
192
+ <td><pre><a name="line23">23</a> def discover!</pre></td>
193
+ </tr>
194
+
195
+
196
+
197
+ <tr class="marked">
198
+ <td><pre><a name="line24">24</a> SWD.cache.fetch(cache_key, @cache_options) do</pre></td>
199
+ </tr>
200
+
201
+
202
+
203
+ <tr class="marked">
204
+ <td><pre><a name="line25">25</a> handle_response do</pre></td>
205
+ </tr>
206
+
207
+
208
+
209
+ <tr class="marked">
210
+ <td><pre><a name="line26">26</a> HTTPClient.get endpoint.to_s</pre></td>
211
+ </tr>
212
+
213
+
214
+
215
+ <tr class="inferred">
216
+ <td><pre><a name="line27">27</a> end</pre></td>
217
+ </tr>
218
+
219
+
220
+
221
+ <tr class="inferred">
222
+ <td><pre><a name="line28">28</a> end</pre></td>
223
+ </tr>
224
+
225
+
226
+
227
+ <tr class="inferred">
228
+ <td><pre><a name="line29">29</a> end</pre></td>
229
+ </tr>
230
+
231
+
232
+
233
+ <tr class="inferred">
234
+ <td><pre><a name="line30">30</a> </pre></td>
235
+ </tr>
236
+
237
+
238
+
239
+ <tr class="marked">
240
+ <td><pre><a name="line31">31</a> def endpoint</pre></td>
241
+ </tr>
242
+
243
+
244
+
245
+ <tr class="marked">
246
+ <td><pre><a name="line32">32</a> URI::HTTPS.build [nil, host, 443, path, {</pre></td>
247
+ </tr>
248
+
249
+
250
+
251
+ <tr class="inferred">
252
+ <td><pre><a name="line33">33</a> :principal =&gt; principal,</pre></td>
253
+ </tr>
254
+
255
+
256
+
257
+ <tr class="inferred">
258
+ <td><pre><a name="line34">34</a> :service =&gt; service</pre></td>
259
+ </tr>
260
+
261
+
262
+
263
+ <tr class="marked">
264
+ <td><pre><a name="line35">35</a> }.to_query, nil]</pre></td>
265
+ </tr>
266
+
267
+
268
+
269
+ <tr class="inferred">
270
+ <td><pre><a name="line36">36</a> end</pre></td>
271
+ </tr>
272
+
273
+
274
+
275
+ <tr class="inferred">
276
+ <td><pre><a name="line37">37</a> </pre></td>
277
+ </tr>
278
+
279
+
280
+
281
+ <tr class="marked">
282
+ <td><pre><a name="line38">38</a> private</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="marked">
294
+ <td><pre><a name="line40">40</a> def handle_response</pre></td>
295
+ </tr>
296
+
297
+
298
+
299
+ <tr class="marked">
300
+ <td><pre><a name="line41">41</a> res = yield</pre></td>
301
+ </tr>
302
+
303
+
304
+
305
+ <tr class="marked">
306
+ <td><pre><a name="line42">42</a> case res.status</pre></td>
307
+ </tr>
308
+
309
+
310
+
311
+ <tr class="marked">
312
+ <td><pre><a name="line43">43</a> when 200</pre></td>
313
+ </tr>
314
+
315
+
316
+
317
+ <tr class="marked">
318
+ <td><pre><a name="line44">44</a> res = JSON.parse(res.body).with_indifferent_access</pre></td>
319
+ </tr>
320
+
321
+
322
+
323
+ <tr class="marked">
324
+ <td><pre><a name="line45">45</a> if redirect = res[:SWD_service_redirect]</pre></td>
325
+ </tr>
326
+
327
+
328
+
329
+ <tr class="marked">
330
+ <td><pre><a name="line46">46</a> redirect_to redirect[:location], redirect[:expires]</pre></td>
331
+ </tr>
332
+
333
+
334
+
335
+ <tr class="inferred">
336
+ <td><pre><a name="line47">47</a> else</pre></td>
337
+ </tr>
338
+
339
+
340
+
341
+ <tr class="marked">
342
+ <td><pre><a name="line48">48</a> Response.new res</pre></td>
343
+ </tr>
344
+
345
+
346
+
347
+ <tr class="inferred">
348
+ <td><pre><a name="line49">49</a> end</pre></td>
349
+ </tr>
350
+
351
+
352
+
353
+ <tr class="marked">
354
+ <td><pre><a name="line50">50</a> when 400</pre></td>
355
+ </tr>
356
+
357
+
358
+
359
+ <tr class="marked">
360
+ <td><pre><a name="line51">51</a> raise BadRequest.new(res)</pre></td>
361
+ </tr>
362
+
363
+
364
+
365
+ <tr class="marked">
366
+ <td><pre><a name="line52">52</a> when 401</pre></td>
367
+ </tr>
368
+
369
+
370
+
371
+ <tr class="marked">
372
+ <td><pre><a name="line53">53</a> raise Unauthorized.new(res)</pre></td>
373
+ </tr>
374
+
375
+
376
+
377
+ <tr class="marked">
378
+ <td><pre><a name="line54">54</a> when 403</pre></td>
379
+ </tr>
380
+
381
+
382
+
383
+ <tr class="marked">
384
+ <td><pre><a name="line55">55</a> raise Forbidden.new(res)</pre></td>
385
+ </tr>
386
+
387
+
388
+
389
+ <tr class="marked">
390
+ <td><pre><a name="line56">56</a> when 404</pre></td>
391
+ </tr>
392
+
393
+
394
+
395
+ <tr class="marked">
396
+ <td><pre><a name="line57">57</a> raise NotFound.new(res)</pre></td>
397
+ </tr>
398
+
399
+
400
+
401
+ <tr class="inferred">
402
+ <td><pre><a name="line58">58</a> else</pre></td>
403
+ </tr>
404
+
405
+
406
+
407
+ <tr class="marked">
408
+ <td><pre><a name="line59">59</a> raise HttpError.new(res.code, res)</pre></td>
409
+ </tr>
410
+
411
+
412
+
413
+ <tr class="inferred">
414
+ <td><pre><a name="line60">60</a> end</pre></td>
415
+ </tr>
416
+
417
+
418
+
419
+ <tr class="inferred">
420
+ <td><pre><a name="line61">61</a> end</pre></td>
421
+ </tr>
422
+
423
+
424
+
425
+ <tr class="inferred">
426
+ <td><pre><a name="line62">62</a> </pre></td>
427
+ </tr>
428
+
429
+
430
+
431
+ <tr class="marked">
432
+ <td><pre><a name="line63">63</a> def redirect_to(location, expires)</pre></td>
433
+ </tr>
434
+
435
+
436
+
437
+ <tr class="marked">
438
+ <td><pre><a name="line64">64</a> uri = URI.parse(location)</pre></td>
439
+ </tr>
440
+
441
+
442
+
443
+ <tr class="marked">
444
+ <td><pre><a name="line65">65</a> @host, @path = uri.host, uri.path</pre></td>
445
+ </tr>
446
+
447
+
448
+
449
+ <tr class="marked">
450
+ <td><pre><a name="line66">66</a> raise ContentExpired if expires &amp;&amp; expires.to_i &lt; Time.now.utc.to_i</pre></td>
451
+ </tr>
452
+
453
+
454
+
455
+ <tr class="marked">
456
+ <td><pre><a name="line67">67</a> discover!</pre></td>
457
+ </tr>
458
+
459
+
460
+
461
+ <tr class="inferred">
462
+ <td><pre><a name="line68">68</a> end</pre></td>
463
+ </tr>
464
+
465
+
466
+
467
+ <tr class="inferred">
468
+ <td><pre><a name="line69">69</a> </pre></td>
469
+ </tr>
470
+
471
+
472
+
473
+ <tr class="marked">
474
+ <td><pre><a name="line70">70</a> def cache_key</pre></td>
475
+ </tr>
476
+
477
+
478
+
479
+ <tr class="marked">
480
+ <td><pre><a name="line71">71</a> md5 = Digest::MD5.hexdigest [</pre></td>
481
+ </tr>
482
+
483
+
484
+
485
+ <tr class="inferred">
486
+ <td><pre><a name="line72">72</a> principal,</pre></td>
487
+ </tr>
488
+
489
+
490
+
491
+ <tr class="inferred">
492
+ <td><pre><a name="line73">73</a> service,</pre></td>
493
+ </tr>
494
+
495
+
496
+
497
+ <tr class="inferred">
498
+ <td><pre><a name="line74">74</a> host</pre></td>
499
+ </tr>
500
+
501
+
502
+
503
+ <tr class="uncovered">
504
+ <td><pre><a name="line75">75</a> ].join(' ')</pre></td>
505
+ </tr>
506
+
507
+
508
+
509
+ <tr class="marked">
510
+ <td><pre><a name="line76">76</a> &quot;swd:resource:#{md5}&quot;</pre></td>
511
+ </tr>
512
+
513
+
514
+
515
+ <tr class="inferred">
516
+ <td><pre><a name="line77">77</a> end</pre></td>
517
+ </tr>
518
+
519
+
520
+
521
+ <tr class="inferred">
522
+ <td><pre><a name="line78">78</a> end</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
+ </tbody>
532
+ </table>
533
+
534
+ <p>Generated on Fri Aug 19 16:24:16 +0900 2011 with <a href="http://github.com/relevance/rcov">rcov 0.9.10</a></p>
535
+
536
+ </body>
537
+ </html>