api_resource 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. data/Gemfile.lock +89 -78
  2. data/Rakefile +1 -11
  3. data/VERSION +1 -1
  4. data/api_resource.gemspec +2 -2
  5. data/coverage/assets/0.7.1/application.css +1110 -0
  6. data/coverage/assets/0.7.1/application.js +626 -0
  7. data/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
  8. data/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
  9. data/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
  10. data/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
  11. data/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
  12. data/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
  13. data/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
  14. data/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
  15. data/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
  16. data/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
  17. data/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
  18. data/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
  19. data/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
  20. data/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
  21. data/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
  22. data/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
  23. data/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
  24. data/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
  25. data/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
  26. data/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
  27. data/coverage/assets/0.7.1/favicon_green.png +0 -0
  28. data/coverage/assets/0.7.1/favicon_red.png +0 -0
  29. data/coverage/assets/0.7.1/favicon_yellow.png +0 -0
  30. data/coverage/assets/0.7.1/loading.gif +0 -0
  31. data/coverage/assets/0.7.1/magnify.png +0 -0
  32. data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  33. data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  34. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  35. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  36. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  37. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  38. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  39. data/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  40. data/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
  41. data/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  42. data/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
  43. data/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
  44. data/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  45. data/coverage/index.html +146 -155
  46. data/lib/api_resource/associations/resource_scope.rb +1 -1
  47. data/lib/api_resource/connection.rb +1 -1
  48. data/spec/lib/associations/association_scope_spec.rb +4 -0
  49. data/spec/lib/associations/resource_scope_spec.rb +24 -0
  50. data/spec/lib/associations_spec.rb +1 -1
  51. data/spec/lib/base_spec.rb +12 -11
  52. data/spec/lib/callbacks_spec.rb +4 -1
  53. data/spec/tmp/api_resource_test_db.sqlite +0 -0
  54. data/tmp/rspec_guard_result +1 -0
  55. metadata +44 -2
Binary file
Binary file
data/coverage/index.html CHANGED
@@ -3,27 +3,18 @@
3
3
  <head>
4
4
  <title>Code coverage for Api resource</title>
5
5
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
- <script src='./assets/0.5.3/jquery-1.6.2.min.js' type='text/javascript'></script>
7
- <script src='./assets/0.5.3/jquery.dataTables.min.js' type='text/javascript'></script>
8
- <script src='./assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js' type='text/javascript'></script>
9
- <script src='./assets/0.5.3/jquery.timeago.js' type='text/javascript'></script>
10
- <script src='./assets/0.5.3/jquery.url.js' type='text/javascript'></script>
11
- <script src='./assets/0.5.3/highlight.pack.js' type='text/javascript'></script>
12
- <script src='./assets/0.5.3/app.js' type='text/javascript'></script>
13
- <link href='./assets/0.5.3/stylesheet.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
14
- <link href='./assets/0.5.3/highlight.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
15
- <link href='./assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
16
- <link href='./assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
17
- <link rel="shortcut icon" type="image/png" href="./assets/0.5.3/favicon_yellow.png" />
18
- <link rel="icon" type="image/png" href="./assets/0.5.3/favicon.png" />
6
+ <script src='./assets/0.7.1/application.js' type='text/javascript'></script>
7
+ <link href='./assets/0.7.1/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
8
+ <link rel="shortcut icon" type="image/png" href="./assets/0.7.1/favicon_yellow.png" />
9
+ <link rel="icon" type="image/png" href="./assets/0.7.1/favicon.png" />
19
10
  </head>
20
11
 
21
12
  <body>
22
13
  <div id="loading">
23
- <img src="./assets/0.5.3/loading.gif" alt="loading"/>
14
+ <img src="./assets/0.7.1/loading.gif" alt="loading"/>
24
15
  </div>
25
16
  <div id="wrapper" style="display:none;">
26
- <div class="timestamp">Generated <abbr class="timeago" title="2012-12-18T14:44:11-05:00">2012-12-18T14:44:11-05:00</abbr></div>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2012-12-19T15:41:26-05:00">2012-12-19T15:41:26-05:00</abbr></div>
27
18
  <ul class="group_tabs"></ul>
28
19
 
29
20
  <div id="content">
@@ -34,7 +25,7 @@
34
25
  covered at
35
26
  <span class="covered_strength">
36
27
  <span class="green">
37
- 15.43
28
+ 26.37
38
29
  </span>
39
30
  </span> hits/line)
40
31
  </h2>
@@ -66,7 +57,7 @@
66
57
  <td>98</td>
67
58
  <td>83</td>
68
59
  <td>15</td>
69
- <td>55.6</td>
60
+ <td>89.0</td>
70
61
  </tr>
71
62
 
72
63
  <tr>
@@ -116,7 +107,7 @@
116
107
  <td>128</td>
117
108
  <td>121</td>
118
109
  <td>7</td>
119
- <td>32.8</td>
110
+ <td>65.0</td>
120
111
  </tr>
121
112
 
122
113
  </tbody>
@@ -128,8 +119,8 @@
128
119
  </div>
129
120
 
130
121
  <div id="footer">
131
- Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.6.1
132
- and simplecov-html v0.5.3<br/>
122
+ Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.7.1
123
+ and simplecov-html v0.7.1<br/>
133
124
  using RSpec
134
125
  </div>
135
126
 
@@ -347,38 +338,38 @@
347
338
  <code class="ruby"> def initialize(site, format = ApiResource::Formats::JsonFormat, headers)</code>
348
339
  </li>
349
340
 
350
- <li class="covered" data-hits="365" data-linenumber="34">
351
- <span class="hits">365</span>
341
+ <li class="covered" data-hits="403" data-linenumber="34">
342
+ <span class="hits">403</span>
352
343
 
353
344
  <code class="ruby"> raise ArgumentError, 'Missing site URI' unless site</code>
354
345
  </li>
355
346
 
356
- <li class="covered" data-hits="365" data-linenumber="35">
357
- <span class="hits">365</span>
347
+ <li class="covered" data-hits="403" data-linenumber="35">
348
+ <span class="hits">403</span>
358
349
 
359
350
  <code class="ruby"> @user = @password = nil</code>
360
351
  </li>
361
352
 
362
- <li class="covered" data-hits="365" data-linenumber="36">
363
- <span class="hits">365</span>
353
+ <li class="covered" data-hits="403" data-linenumber="36">
354
+ <span class="hits">403</span>
364
355
 
365
356
  <code class="ruby"> @uri_parser = URI.const_defined?(:Parser) ? URI::Parser.new : URI</code>
366
357
  </li>
367
358
 
368
- <li class="covered" data-hits="365" data-linenumber="37">
369
- <span class="hits">365</span>
359
+ <li class="covered" data-hits="403" data-linenumber="37">
360
+ <span class="hits">403</span>
370
361
 
371
362
  <code class="ruby"> self.site = site</code>
372
363
  </li>
373
364
 
374
- <li class="covered" data-hits="365" data-linenumber="38">
375
- <span class="hits">365</span>
365
+ <li class="covered" data-hits="403" data-linenumber="38">
366
+ <span class="hits">403</span>
376
367
 
377
368
  <code class="ruby"> self.format = format</code>
378
369
  </li>
379
370
 
380
- <li class="covered" data-hits="365" data-linenumber="39">
381
- <span class="hits">365</span>
371
+ <li class="covered" data-hits="403" data-linenumber="39">
372
+ <span class="hits">403</span>
382
373
 
383
374
  <code class="ruby"> self.headers = headers</code>
384
375
  </li>
@@ -407,20 +398,20 @@
407
398
  <code class="ruby"> def site=(site)</code>
408
399
  </li>
409
400
 
410
- <li class="covered" data-hits="365" data-linenumber="44">
411
- <span class="hits">365</span>
401
+ <li class="covered" data-hits="403" data-linenumber="44">
402
+ <span class="hits">403</span>
412
403
 
413
404
  <code class="ruby"> @site = site.is_a?(URI) ? site : @uri_parser.parse(site)</code>
414
405
  </li>
415
406
 
416
- <li class="covered" data-hits="365" data-linenumber="45">
417
- <span class="hits">365</span>
407
+ <li class="covered" data-hits="403" data-linenumber="45">
408
+ <span class="hits">403</span>
418
409
 
419
410
  <code class="ruby"> @user = @uri_parser.unescape(@site.user) if @site.user</code>
420
411
  </li>
421
412
 
422
- <li class="covered" data-hits="365" data-linenumber="46">
423
- <span class="hits">365</span>
413
+ <li class="covered" data-hits="403" data-linenumber="46">
414
+ <span class="hits">403</span>
424
415
 
425
416
  <code class="ruby"> @password = @uri_parser.unescape(@site.password) if @site.password</code>
426
417
  </li>
@@ -449,8 +440,8 @@
449
440
  <code class="ruby"> def timeout=(timeout)</code>
450
441
  </li>
451
442
 
452
- <li class="covered" data-hits="493" data-linenumber="51">
453
- <span class="hits">493</span>
443
+ <li class="covered" data-hits="667" data-linenumber="51">
444
+ <span class="hits">667</span>
454
445
 
455
446
  <code class="ruby"> @timeout = timeout</code>
456
447
  </li>
@@ -479,14 +470,14 @@
479
470
  <code class="ruby"> # our site and headers for this request</code>
480
471
  </li>
481
472
 
482
- <li class="covered" data-hits="72" data-linenumber="56">
483
- <span class="hits">72</span>
473
+ <li class="covered" data-hits="210" data-linenumber="56">
474
+ <span class="hits">210</span>
484
475
 
485
476
  <code class="ruby"> site = self.site.merge(path)</code>
486
477
  </li>
487
478
 
488
- <li class="covered" data-hits="72" data-linenumber="57">
489
- <span class="hits">72</span>
479
+ <li class="covered" data-hits="210" data-linenumber="57">
480
+ <span class="hits">210</span>
490
481
 
491
482
  <code class="ruby"> headers = build_request_headers(headers, :get, site)</code>
492
483
  </li>
@@ -497,14 +488,14 @@
497
488
  <code class="ruby"></code>
498
489
  </li>
499
490
 
500
- <li class="covered" data-hits="72" data-linenumber="59">
501
- <span class="hits">72</span>
491
+ <li class="covered" data-hits="210" data-linenumber="59">
492
+ <span class="hits">210</span>
502
493
 
503
494
  <code class="ruby"> self.with_caching(path, headers) do</code>
504
495
  </li>
505
496
 
506
- <li class="covered" data-hits="70" data-linenumber="60">
507
- <span class="hits">70</span>
497
+ <li class="covered" data-hits="207" data-linenumber="60">
498
+ <span class="hits">207</span>
508
499
 
509
500
  <code class="ruby"> format.decode(request(:get, path, headers))</code>
510
501
  </li>
@@ -707,14 +698,14 @@
707
698
  <code class="ruby"> def cache_key(path, headers)</code>
708
699
  </li>
709
700
 
710
- <li class="covered" data-hits="3" data-linenumber="94">
711
- <span class="hits">3</span>
701
+ <li class="covered" data-hits="5" data-linenumber="94">
702
+ <span class="hits">5</span>
712
703
 
713
704
  <code class="ruby"> key = Digest::MD5.hexdigest([path, headers].to_s)</code>
714
705
  </li>
715
706
 
716
- <li class="covered" data-hits="3" data-linenumber="95">
717
- <span class="hits">3</span>
707
+ <li class="covered" data-hits="5" data-linenumber="95">
708
+ <span class="hits">5</span>
718
709
 
719
710
  <code class="ruby"> return &quot;a-#{key}-#{ApiResource::Base.ttl}&quot;</code>
720
711
  </li>
@@ -737,26 +728,26 @@
737
728
  <code class="ruby"> def with_caching(path, data = {}, &amp;block)</code>
738
729
  </li>
739
730
 
740
- <li class="covered" data-hits="72" data-linenumber="99">
741
- <span class="hits">72</span>
731
+ <li class="covered" data-hits="210" data-linenumber="99">
732
+ <span class="hits">210</span>
742
733
 
743
734
  <code class="ruby"> if ApiResource::Base.ttl.to_f &gt; 0.0</code>
744
735
  </li>
745
736
 
746
- <li class="covered" data-hits="3" data-linenumber="100">
747
- <span class="hits">3</span>
737
+ <li class="covered" data-hits="5" data-linenumber="100">
738
+ <span class="hits">5</span>
748
739
 
749
740
  <code class="ruby"> key = self.cache_key(path, data)</code>
750
741
  </li>
751
742
 
752
- <li class="covered" data-hits="3" data-linenumber="101">
753
- <span class="hits">3</span>
743
+ <li class="covered" data-hits="5" data-linenumber="101">
744
+ <span class="hits">5</span>
754
745
 
755
746
  <code class="ruby"> ApiResource.cache.fetch(key, :expires_in =&gt; ApiResource::Base.ttl) do</code>
756
747
  </li>
757
748
 
758
- <li class="covered" data-hits="1" data-linenumber="102">
759
- <span class="hits">1</span>
749
+ <li class="covered" data-hits="2" data-linenumber="102">
750
+ <span class="hits">2</span>
760
751
 
761
752
  <code class="ruby"> yield</code>
762
753
  </li>
@@ -773,8 +764,8 @@
773
764
  <code class="ruby"> else</code>
774
765
  </li>
775
766
 
776
- <li class="covered" data-hits="69" data-linenumber="105">
777
- <span class="hits">69</span>
767
+ <li class="covered" data-hits="205" data-linenumber="105">
768
+ <span class="hits">205</span>
778
769
 
779
770
  <code class="ruby"> yield</code>
780
771
  </li>
@@ -815,14 +806,14 @@
815
806
  <code class="ruby"> def request(method, path, *arguments)</code>
816
807
  </li>
817
808
 
818
- <li class="covered" data-hits="82" data-linenumber="112">
819
- <span class="hits">82</span>
809
+ <li class="covered" data-hits="219" data-linenumber="112">
810
+ <span class="hits">219</span>
820
811
 
821
812
  <code class="ruby"> handle_response(path) do</code>
822
813
  </li>
823
814
 
824
- <li class="covered" data-hits="82" data-linenumber="113">
825
- <span class="hits">82</span>
815
+ <li class="covered" data-hits="219" data-linenumber="113">
816
+ <span class="hits">219</span>
826
817
 
827
818
  <code class="ruby"> ActiveSupport::Notifications.instrument(&quot;request.api_resource&quot;) do |payload|</code>
828
819
  </li>
@@ -839,10 +830,10 @@
839
830
  <code class="ruby"> # debug logging</code>
840
831
  </li>
841
832
 
842
- <li class="covered" data-hits="82" data-linenumber="116">
843
- <span class="hits">82</span>
833
+ <li class="covered" data-hits="219" data-linenumber="116">
834
+ <span class="hits">219</span>
844
835
 
845
- <code class="ruby"> ApiResource.logger.debug(&quot;#{method.to_s.upcase} #{path}&quot;)</code>
836
+ <code class="ruby"> ApiResource.logger.debug(&quot;#{method.to_s.upcase} #{site.scheme}://#{site.host}:#{site.port}#{path}&quot;)</code>
846
837
  </li>
847
838
 
848
839
  <li class="never" data-hits="" data-linenumber="117">
@@ -851,20 +842,20 @@
851
842
  <code class="ruby"> </code>
852
843
  </li>
853
844
 
854
- <li class="covered" data-hits="82" data-linenumber="118">
855
- <span class="hits">82</span>
845
+ <li class="covered" data-hits="219" data-linenumber="118">
846
+ <span class="hits">219</span>
856
847
 
857
848
  <code class="ruby"> payload[:method] = method</code>
858
849
  </li>
859
850
 
860
- <li class="covered" data-hits="82" data-linenumber="119">
861
- <span class="hits">82</span>
851
+ <li class="covered" data-hits="219" data-linenumber="119">
852
+ <span class="hits">219</span>
862
853
 
863
854
  <code class="ruby"> payload[:request_uri] = &quot;#{site.scheme}://#{site.host}:#{site.port}#{path}&quot;</code>
864
855
  </li>
865
856
 
866
- <li class="covered" data-hits="82" data-linenumber="120">
867
- <span class="hits">82</span>
857
+ <li class="covered" data-hits="219" data-linenumber="120">
858
+ <span class="hits">219</span>
868
859
 
869
860
  <code class="ruby"> payload[:result] = http(path).send(method, *arguments)</code>
870
861
  </li>
@@ -905,14 +896,14 @@
905
896
  <code class="ruby"> def handle_response(path, &amp;block)</code>
906
897
  </li>
907
898
 
908
- <li class="covered" data-hits="82" data-linenumber="127">
909
- <span class="hits">82</span>
899
+ <li class="covered" data-hits="219" data-linenumber="127">
900
+ <span class="hits">219</span>
910
901
 
911
902
  <code class="ruby"> begin</code>
912
903
  </li>
913
904
 
914
- <li class="covered" data-hits="82" data-linenumber="128">
915
- <span class="hits">82</span>
905
+ <li class="covered" data-hits="219" data-linenumber="128">
906
+ <span class="hits">219</span>
916
907
 
917
908
  <code class="ruby"> result = yield</code>
918
909
  </li>
@@ -983,8 +974,8 @@
983
974
  <code class="ruby"> end</code>
984
975
  </li>
985
976
 
986
- <li class="covered" data-hits="81" data-linenumber="140">
987
- <span class="hits">81</span>
977
+ <li class="covered" data-hits="218" data-linenumber="140">
978
+ <span class="hits">218</span>
988
979
 
989
980
  <code class="ruby"> return propogate_response_or_error(result, result.code)</code>
990
981
  </li>
@@ -1007,8 +998,8 @@
1007
998
  <code class="ruby"> def propogate_response_or_error(response, code)</code>
1008
999
  </li>
1009
1000
 
1010
- <li class="covered" data-hits="81" data-linenumber="144">
1011
- <span class="hits">81</span>
1001
+ <li class="covered" data-hits="218" data-linenumber="144">
1002
+ <span class="hits">218</span>
1012
1003
 
1013
1004
  <code class="ruby"> case code.to_i</code>
1014
1005
  </li>
@@ -1031,8 +1022,8 @@
1031
1022
  <code class="ruby"> when 200..400</code>
1032
1023
  </li>
1033
1024
 
1034
- <li class="covered" data-hits="76" data-linenumber="148">
1035
- <span class="hits">76</span>
1025
+ <li class="covered" data-hits="213" data-linenumber="148">
1026
+ <span class="hits">213</span>
1036
1027
 
1037
1028
  <code class="ruby"> response.body</code>
1038
1029
  </li>
@@ -1259,8 +1250,8 @@
1259
1250
  <code class="ruby"> def build_request_headers(headers, verb, uri)</code>
1260
1251
  </li>
1261
1252
 
1262
- <li class="covered" data-hits="84" data-linenumber="186">
1263
- <span class="hits">84</span>
1253
+ <li class="covered" data-hits="222" data-linenumber="186">
1254
+ <span class="hits">222</span>
1264
1255
 
1265
1256
  <code class="ruby"> http_format_header(verb).update(headers)</code>
1266
1257
  </li>
@@ -1283,14 +1274,14 @@
1283
1274
  <code class="ruby"> def http_format_header(verb)</code>
1284
1275
  </li>
1285
1276
 
1286
- <li class="covered" data-hits="84" data-linenumber="190">
1287
- <span class="hits">84</span>
1277
+ <li class="covered" data-hits="222" data-linenumber="190">
1278
+ <span class="hits">222</span>
1288
1279
 
1289
1280
  <code class="ruby"> {}.tap do |ret|</code>
1290
1281
  </li>
1291
1282
 
1292
- <li class="covered" data-hits="84" data-linenumber="191">
1293
- <span class="hits">84</span>
1283
+ <li class="covered" data-hits="222" data-linenumber="191">
1284
+ <span class="hits">222</span>
1294
1285
 
1295
1286
  <code class="ruby"> ret[HTTP_FORMAT_HEADER_NAMES[verb]] = format.mime_type</code>
1296
1287
  </li>
@@ -1937,8 +1928,8 @@
1937
1928
  <code class="ruby"> def initialize(path)</code>
1938
1929
  </li>
1939
1930
 
1940
- <li class="covered" data-hits="81" data-linenumber="15">
1941
- <span class="hits">81</span>
1931
+ <li class="covered" data-hits="218" data-linenumber="15">
1932
+ <span class="hits">218</span>
1942
1933
 
1943
1934
  <code class="ruby"> @path = path</code>
1944
1935
  </li>
@@ -1961,8 +1952,8 @@
1961
1952
  <code class="ruby"> def get(*args, &amp;block)</code>
1962
1953
  </li>
1963
1954
 
1964
- <li class="covered" data-hits="68" data-linenumber="19">
1965
- <span class="hits">68</span>
1955
+ <li class="covered" data-hits="205" data-linenumber="19">
1956
+ <span class="hits">205</span>
1966
1957
 
1967
1958
  <code class="ruby"> Connection.send(:get, @path, *args, &amp;block)</code>
1968
1959
  </li>
@@ -2093,8 +2084,8 @@
2093
2084
  <code class="ruby"> def http(path)</code>
2094
2085
  </li>
2095
2086
 
2096
- <li class="covered" data-hits="81" data-linenumber="41">
2097
- <span class="hits">81</span>
2087
+ <li class="covered" data-hits="218" data-linenumber="41">
2088
+ <span class="hits">218</span>
2098
2089
 
2099
2090
  <code class="ruby"> Interface.new(path)</code>
2100
2091
  </li>
@@ -2339,26 +2330,26 @@
2339
2330
  <code class="ruby"> # these are stored as [[Request, Response], [Request, Response]]</code>
2340
2331
  </li>
2341
2332
 
2342
- <li class="covered" data-hits="74" data-linenumber="82">
2343
- <span class="hits">74</span>
2333
+ <li class="covered" data-hits="211" data-linenumber="82">
2334
+ <span class="hits">211</span>
2344
2335
 
2345
2336
  <code class="ruby"> responses_and_params = self.responses_for_path(request.path)</code>
2346
2337
  </li>
2347
2338
 
2348
- <li class="covered" data-hits="238" data-linenumber="83">
2349
- <span class="hits">238</span>
2339
+ <li class="covered" data-hits="512" data-linenumber="83">
2340
+ <span class="hits">512</span>
2350
2341
 
2351
2342
  <code class="ruby"> ret = (responses_and_params[:responses] || []).select{|pair| pair.first.match?(request)}</code>
2352
2343
  </li>
2353
2344
 
2354
- <li class="covered" data-hits="74" data-linenumber="84">
2355
- <span class="hits">74</span>
2345
+ <li class="covered" data-hits="211" data-linenumber="84">
2346
+ <span class="hits">211</span>
2356
2347
 
2357
2348
  <code class="ruby"> raise Exception.new(&quot;More than one response matches #{request}&quot;) if ret.length &gt; 1</code>
2358
2349
  </li>
2359
2350
 
2360
- <li class="covered" data-hits="74" data-linenumber="85">
2361
- <span class="hits">74</span>
2351
+ <li class="covered" data-hits="211" data-linenumber="85">
2352
+ <span class="hits">211</span>
2362
2353
 
2363
2354
  <code class="ruby"> return ret.first ? {:response =&gt; ret.first[1], :params =&gt; responses_and_params[:params]} : nil</code>
2364
2355
  </li>
@@ -2453,14 +2444,14 @@
2453
2444
  <code class="ruby"> def self.responses_for_path(path)</code>
2454
2445
  </li>
2455
2446
 
2456
- <li class="covered" data-hits="77" data-linenumber="101">
2457
- <span class="hits">77</span>
2447
+ <li class="covered" data-hits="214" data-linenumber="101">
2448
+ <span class="hits">214</span>
2458
2449
 
2459
2450
  <code class="ruby"> path = path.split(&quot;?&quot;).first</code>
2460
2451
  </li>
2461
2452
 
2462
- <li class="covered" data-hits="77" data-linenumber="102">
2463
- <span class="hits">77</span>
2453
+ <li class="covered" data-hits="214" data-linenumber="102">
2454
+ <span class="hits">214</span>
2464
2455
 
2465
2456
  <code class="ruby"> path = path.split(/\./).first</code>
2466
2457
  </li>
@@ -2471,14 +2462,14 @@
2471
2462
  <code class="ruby"> # The obvious case</code>
2472
2463
  </li>
2473
2464
 
2474
- <li class="covered" data-hits="77" data-linenumber="104">
2475
- <span class="hits">77</span>
2465
+ <li class="covered" data-hits="214" data-linenumber="104">
2466
+ <span class="hits">214</span>
2476
2467
 
2477
2468
  <code class="ruby"> if @@endpoints[path]</code>
2478
2469
  </li>
2479
2470
 
2480
- <li class="covered" data-hits="58" data-linenumber="105">
2481
- <span class="hits">58</span>
2471
+ <li class="covered" data-hits="195" data-linenumber="105">
2472
+ <span class="hits">195</span>
2482
2473
 
2483
2474
  <code class="ruby"> return {:responses =&gt; @@endpoints[path], :params =&gt; {}}</code>
2484
2475
  </li>
@@ -2789,14 +2780,14 @@
2789
2780
  <code class="ruby"> def body</code>
2790
2781
  </li>
2791
2782
 
2792
- <li class="covered" data-hits="83" data-linenumber="157">
2793
- <span class="hits">83</span>
2783
+ <li class="covered" data-hits="220" data-linenumber="157">
2784
+ <span class="hits">220</span>
2794
2785
 
2795
2786
  <code class="ruby"> raise Exception.new(&quot;Body must respond to to_#{self.format}&quot;) unless @body.respond_to?(&quot;to_#{self.format}&quot;)</code>
2796
2787
  </li>
2797
2788
 
2798
- <li class="covered" data-hits="83" data-linenumber="158">
2799
- <span class="hits">83</span>
2789
+ <li class="covered" data-hits="220" data-linenumber="158">
2790
+ <span class="hits">220</span>
2800
2791
 
2801
2792
  <code class="ruby"> @body.send(&quot;to_#{self.format}&quot;)</code>
2802
2793
  </li>
@@ -2843,8 +2834,8 @@
2843
2834
  <code class="ruby"> def generate_response(params)</code>
2844
2835
  </li>
2845
2836
 
2846
- <li class="covered" data-hits="71" data-linenumber="166">
2847
- <span class="hits">71</span>
2837
+ <li class="covered" data-hits="208" data-linenumber="166">
2838
+ <span class="hits">208</span>
2848
2839
 
2849
2840
  <code class="ruby"> @body = @body.instance_exec(params, &amp;self.block) if self.block</code>
2850
2841
  </li>
@@ -2891,8 +2882,8 @@
2891
2882
  <code class="ruby"> def initialize(method, path, opts = {})</code>
2892
2883
  </li>
2893
2884
 
2894
- <li class="covered" data-hits="111" data-linenumber="174">
2895
- <span class="hits">111</span>
2885
+ <li class="covered" data-hits="248" data-linenumber="174">
2886
+ <span class="hits">248</span>
2896
2887
 
2897
2888
  <code class="ruby"> @method = method.to_sym</code>
2898
2889
  </li>
@@ -2909,14 +2900,14 @@
2909
2900
  <code class="ruby"> # set the normalized path, format and query string</code>
2910
2901
  </li>
2911
2902
 
2912
- <li class="covered" data-hits="111" data-linenumber="177">
2913
- <span class="hits">111</span>
2903
+ <li class="covered" data-hits="248" data-linenumber="177">
2904
+ <span class="hits">248</span>
2914
2905
 
2915
2906
  <code class="ruby"> @path, @query = path.split(&quot;?&quot;)</code>
2916
2907
  </li>
2917
2908
 
2918
- <li class="covered" data-hits="111" data-linenumber="178">
2919
- <span class="hits">111</span>
2909
+ <li class="covered" data-hits="248" data-linenumber="178">
2910
+ <span class="hits">248</span>
2920
2911
 
2921
2912
  <code class="ruby"> @path, @format = @path.split(&quot;.&quot;)</code>
2922
2913
  </li>
@@ -2933,8 +2924,8 @@
2933
2924
  <code class="ruby"> # if we have params, it is a MockRequest definition</code>
2934
2925
  </li>
2935
2926
 
2936
- <li class="covered" data-hits="111" data-linenumber="181">
2937
- <span class="hits">111</span>
2927
+ <li class="covered" data-hits="248" data-linenumber="181">
2928
+ <span class="hits">248</span>
2938
2929
 
2939
2930
  <code class="ruby"> if opts[:params]</code>
2940
2931
  </li>
@@ -2963,8 +2954,8 @@
2963
2954
  <code class="ruby"> else</code>
2964
2955
  </li>
2965
2956
 
2966
- <li class="covered" data-hits="77" data-linenumber="186">
2967
- <span class="hits">77</span>
2957
+ <li class="covered" data-hits="214" data-linenumber="186">
2958
+ <span class="hits">214</span>
2968
2959
 
2969
2960
  <code class="ruby"> case @method</code>
2970
2961
  </li>
@@ -2987,8 +2978,8 @@
2987
2978
  <code class="ruby"> when :get, :delete, :head</code>
2988
2979
  </li>
2989
2980
 
2990
- <li class="covered" data-hits="72" data-linenumber="190">
2991
- <span class="hits">72</span>
2981
+ <li class="covered" data-hits="209" data-linenumber="190">
2982
+ <span class="hits">209</span>
2992
2983
 
2993
2984
  <code class="ruby"> @params = typecast_values(</code>
2994
2985
  </li>
@@ -3017,20 +3008,20 @@
3017
3008
  <code class="ruby"> end</code>
3018
3009
  </li>
3019
3010
 
3020
- <li class="covered" data-hits="111" data-linenumber="195">
3021
- <span class="hits">111</span>
3011
+ <li class="covered" data-hits="248" data-linenumber="195">
3012
+ <span class="hits">248</span>
3022
3013
 
3023
3014
  <code class="ruby"> @body = opts[:body]</code>
3024
3015
  </li>
3025
3016
 
3026
- <li class="covered" data-hits="111" data-linenumber="196">
3027
- <span class="hits">111</span>
3017
+ <li class="covered" data-hits="248" data-linenumber="196">
3018
+ <span class="hits">248</span>
3028
3019
 
3029
3020
  <code class="ruby"> @headers = opts[:headers] || {}</code>
3030
3021
  </li>
3031
3022
 
3032
- <li class="covered" data-hits="111" data-linenumber="197">
3033
- <span class="hits">111</span>
3023
+ <li class="covered" data-hits="248" data-linenumber="197">
3024
+ <span class="hits">248</span>
3034
3025
 
3035
3026
  <code class="ruby"> @headers[&quot;Content-Length&quot;] = @body.blank? ? &quot;0&quot; : @body.size.to_s</code>
3036
3027
  </li>
@@ -3059,20 +3050,20 @@
3059
3050
  <code class="ruby"> def typecast_values(data)</code>
3060
3051
  </li>
3061
3052
 
3062
- <li class="covered" data-hits="90" data-linenumber="202">
3063
- <span class="hits">90</span>
3053
+ <li class="covered" data-hits="229" data-linenumber="202">
3054
+ <span class="hits">229</span>
3064
3055
 
3065
3056
  <code class="ruby"> if data.is_a?(Hash)</code>
3066
3057
  </li>
3067
3058
 
3068
- <li class="covered" data-hits="74" data-linenumber="203">
3069
- <span class="hits">74</span>
3059
+ <li class="covered" data-hits="211" data-linenumber="203">
3060
+ <span class="hits">211</span>
3070
3061
 
3071
3062
  <code class="ruby"> data.each_pair do |k,v|</code>
3072
3063
  </li>
3073
3064
 
3074
- <li class="covered" data-hits="16" data-linenumber="204">
3075
- <span class="hits">16</span>
3065
+ <li class="covered" data-hits="18" data-linenumber="204">
3066
+ <span class="hits">18</span>
3076
3067
 
3077
3068
  <code class="ruby"> data[k] = typecast_values(v)</code>
3078
3069
  </li>
@@ -3113,8 +3104,8 @@
3113
3104
  <code class="ruby"> else</code>
3114
3105
  </li>
3115
3106
 
3116
- <li class="covered" data-hits="15" data-linenumber="211">
3117
- <span class="hits">15</span>
3107
+ <li class="covered" data-hits="17" data-linenumber="211">
3108
+ <span class="hits">17</span>
3118
3109
 
3119
3110
  <code class="ruby"> data = if data.to_s =~ /^\d+$/</code>
3120
3111
  </li>
@@ -3143,8 +3134,8 @@
3143
3134
  <code class="ruby"> elsif data == &quot;true&quot;</code>
3144
3135
  </li>
3145
3136
 
3146
- <li class="covered" data-hits="9" data-linenumber="216">
3147
- <span class="hits">9</span>
3137
+ <li class="covered" data-hits="11" data-linenumber="216">
3138
+ <span class="hits">11</span>
3148
3139
 
3149
3140
  <code class="ruby"> true</code>
3150
3141
  </li>
@@ -3185,8 +3176,8 @@
3185
3176
  <code class="ruby"> end</code>
3186
3177
  </li>
3187
3178
 
3188
- <li class="covered" data-hits="90" data-linenumber="223">
3189
- <span class="hits">90</span>
3179
+ <li class="covered" data-hits="229" data-linenumber="223">
3180
+ <span class="hits">229</span>
3190
3181
 
3191
3182
  <code class="ruby"> data.nil? ? &quot;&quot; : data</code>
3192
3183
  </li>
@@ -3215,20 +3206,20 @@
3215
3206
  <code class="ruby"> def match?(request)</code>
3216
3207
  </li>
3217
3208
 
3218
- <li class="covered" data-hits="164" data-linenumber="228">
3219
- <span class="hits">164</span>
3209
+ <li class="covered" data-hits="301" data-linenumber="228">
3210
+ <span class="hits">301</span>
3220
3211
 
3221
3212
  <code class="ruby"> return false unless self.method == request.method</code>
3222
3213
  </li>
3223
3214
 
3224
- <li class="covered" data-hits="126" data-linenumber="229">
3225
- <span class="hits">126</span>
3215
+ <li class="covered" data-hits="263" data-linenumber="229">
3216
+ <span class="hits">263</span>
3226
3217
 
3227
3218
  <code class="ruby"> return false unless self.format == request.format || request.format.nil? || self.format.nil?</code>
3228
3219
  </li>
3229
3220
 
3230
- <li class="covered" data-hits="126" data-linenumber="230">
3231
- <span class="hits">126</span>
3221
+ <li class="covered" data-hits="263" data-linenumber="230">
3222
+ <span class="hits">263</span>
3232
3223
 
3233
3224
  <code class="ruby"> Comparator.diff(self.params, request.params) == {}</code>
3234
3225
  </li>