api_resource 0.5.1 → 0.6.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.
- data/.document +5 -0
- data/.gitignore +55 -0
- data/.rspec +8 -0
- data/.travis.yml +9 -0
- data/Gemfile +3 -36
- data/Gemfile.lock +37 -57
- data/Guardfile +7 -1
- data/{LICENSE.txt → LICENSE} +4 -2
- data/README.md +29 -0
- data/README.rdoc +5 -1
- data/Rakefile +5 -36
- data/api_resource.gemspec +40 -104
- data/lib/api_resource.rb +4 -1
- data/lib/api_resource/associations.rb +30 -14
- data/lib/api_resource/associations/association_proxy.rb +97 -0
- data/lib/api_resource/associations/belongs_to_remote_object_proxy.rb +0 -1
- data/lib/api_resource/associations/has_many_remote_object_proxy.rb +0 -1
- data/lib/api_resource/associations/has_one_remote_object_proxy.rb +7 -4
- data/lib/api_resource/associations/multi_object_proxy.rb +11 -16
- data/lib/api_resource/associations/single_object_proxy.rb +8 -6
- data/lib/api_resource/attributes.rb +29 -41
- data/lib/api_resource/base.rb +31 -102
- data/lib/api_resource/conditions.rb +36 -0
- data/lib/api_resource/conditions/abstract_condition.rb +112 -0
- data/lib/api_resource/conditions/association_condition.rb +18 -0
- data/lib/api_resource/conditions/include_condition.rb +16 -0
- data/lib/api_resource/conditions/multi_object_association_condition.rb +17 -0
- data/lib/api_resource/conditions/scope_condition.rb +11 -0
- data/lib/api_resource/conditions/single_object_association_condition.rb +19 -0
- data/lib/api_resource/connection.rb +18 -12
- data/lib/api_resource/finders.rb +122 -0
- data/lib/api_resource/finders/abstract_finder.rb +89 -0
- data/lib/api_resource/finders/multi_object_association_finder.rb +39 -0
- data/lib/api_resource/finders/resource_finder.rb +33 -0
- data/lib/api_resource/finders/single_object_association_finder.rb +40 -0
- data/lib/api_resource/observing.rb +19 -3
- data/lib/api_resource/scopes.rb +3 -3
- data/lib/api_resource/typecast.rb +85 -0
- data/lib/api_resource/typecasters/array_typecaster.rb +19 -0
- data/lib/api_resource/typecasters/boolean_typecaster.rb +22 -0
- data/lib/api_resource/typecasters/date_typecaster.rb +35 -0
- data/lib/api_resource/typecasters/float_typecaster.rb +22 -0
- data/lib/api_resource/typecasters/integer_typecaster.rb +22 -0
- data/lib/api_resource/typecasters/string_typecaster.rb +19 -0
- data/lib/api_resource/typecasters/time_typecaster.rb +44 -0
- data/lib/api_resource/version.rb +3 -0
- data/spec/lib/api_resource_spec.rb +6 -0
- data/spec/lib/associations/association_scope_spec.rb +1 -1
- data/spec/lib/associations_spec.rb +17 -50
- data/spec/lib/base_spec.rb +22 -0
- data/spec/lib/conditions/abstract_conditions_spec.rb +78 -0
- data/spec/lib/connection_spec.rb +19 -0
- data/spec/lib/finders/multi_object_association_finder_spec.rb +43 -0
- data/spec/lib/finders/resource_finder_spec.rb +89 -0
- data/spec/lib/finders/single_object_association_finder_spec.rb +43 -0
- data/spec/lib/observing_spec.rb +96 -0
- data/spec/lib/typecast_spec.rb +174 -0
- data/spec/lib/typecasters/boolean_typecaster_spec.rb +33 -0
- data/spec/lib/typecasters/date_typecaster_spec.rb +62 -0
- data/spec/lib/typecasters/float_typecaster_spec.rb +39 -0
- data/spec/lib/typecasters/integer_typecaster_spec.rb +40 -0
- data/spec/lib/typecasters/string_typecaster_spec.rb +28 -0
- data/spec/lib/typecasters/time_typecaster_spec.rb +65 -0
- data/spec/spec_helper.rb +0 -1
- metadata +134 -194
- data/VERSION +0 -1
- data/coverage/assets/0.5.3/app.js +0 -88
- data/coverage/assets/0.5.3/fancybox/blank.gif +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_close.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_loading.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_nav_left.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_nav_right.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_shadow_e.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_shadow_n.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_shadow_ne.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_shadow_nw.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_shadow_s.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_shadow_se.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_shadow_sw.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_shadow_w.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_title_left.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_title_main.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_title_over.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancy_title_right.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancybox-x.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancybox-y.png +0 -0
- data/coverage/assets/0.5.3/fancybox/fancybox.png +0 -0
- data/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.css +0 -363
- data/coverage/assets/0.5.3/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
- data/coverage/assets/0.5.3/favicon_green.png +0 -0
- data/coverage/assets/0.5.3/favicon_red.png +0 -0
- data/coverage/assets/0.5.3/favicon_yellow.png +0 -0
- data/coverage/assets/0.5.3/highlight.css +0 -129
- data/coverage/assets/0.5.3/highlight.pack.js +0 -1
- data/coverage/assets/0.5.3/jquery-1.6.2.min.js +0 -18
- data/coverage/assets/0.5.3/jquery.dataTables.min.js +0 -152
- data/coverage/assets/0.5.3/jquery.timeago.js +0 -141
- data/coverage/assets/0.5.3/jquery.url.js +0 -174
- data/coverage/assets/0.5.3/loading.gif +0 -0
- data/coverage/assets/0.5.3/magnify.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.5.3/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/assets/0.5.3/smoothness/jquery-ui-1.8.4.custom.css +0 -295
- data/coverage/assets/0.5.3/stylesheet.css +0 -383
- data/coverage/assets/0.7.1/application.css +0 -1110
- data/coverage/assets/0.7.1/application.js +0 -626
- data/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
- data/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
- data/coverage/assets/0.7.1/favicon_green.png +0 -0
- data/coverage/assets/0.7.1/favicon_red.png +0 -0
- data/coverage/assets/0.7.1/favicon_yellow.png +0 -0
- data/coverage/assets/0.7.1/loading.gif +0 -0
- data/coverage/assets/0.7.1/magnify.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/index.html +0 -3564
- data/lib/api_resource/associations/abstract_scope.rb +0 -191
- data/lib/api_resource/associations/association_scope.rb +0 -47
- data/lib/api_resource/associations/resource_scope.rb +0 -21
- data/lib/api_resource/associations/scope.rb +0 -34
- data/spec/lib/associations/resource_scope_spec.rb +0 -24
- data/spec/tmp/api_resource_test_db.sqlite +0 -0
- data/tmp/rspec_guard_result +0 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/coverage/index.html
DELETED
|
@@ -1,3564 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html xmlns='http://www.w3.org/1999/xhtml'>
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage for Api resource</title>
|
|
5
|
-
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
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" />
|
|
10
|
-
</head>
|
|
11
|
-
|
|
12
|
-
<body>
|
|
13
|
-
<div id="loading">
|
|
14
|
-
<img src="./assets/0.7.1/loading.gif" alt="loading"/>
|
|
15
|
-
</div>
|
|
16
|
-
<div id="wrapper" style="display:none;">
|
|
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>
|
|
18
|
-
<ul class="group_tabs"></ul>
|
|
19
|
-
|
|
20
|
-
<div id="content">
|
|
21
|
-
<div class="file_list_container" id="AllFiles">
|
|
22
|
-
<h2>
|
|
23
|
-
<span class="group_name">All Files</span>
|
|
24
|
-
(<span class="covered_percent"><span class="yellow">89.43%</span></span>
|
|
25
|
-
covered at
|
|
26
|
-
<span class="covered_strength">
|
|
27
|
-
<span class="green">
|
|
28
|
-
26.37
|
|
29
|
-
</span>
|
|
30
|
-
</span> hits/line)
|
|
31
|
-
</h2>
|
|
32
|
-
<a name="AllFiles"></a>
|
|
33
|
-
<div>
|
|
34
|
-
<b>6</b> files in total.
|
|
35
|
-
<b>265</b> relevant lines.
|
|
36
|
-
<span class="green"><b>237</b> lines covered</span> and
|
|
37
|
-
<span class="red"><b>28</b> lines missed </span>
|
|
38
|
-
</div>
|
|
39
|
-
<table class="file_list">
|
|
40
|
-
<thead>
|
|
41
|
-
<tr>
|
|
42
|
-
<th>File</th>
|
|
43
|
-
<th>% covered</th>
|
|
44
|
-
<th>Lines</th>
|
|
45
|
-
<th>Relevant Lines</th>
|
|
46
|
-
<th>Lines covered</th>
|
|
47
|
-
<th>Lines missed</th>
|
|
48
|
-
<th>Avg. Hits / Line</th>
|
|
49
|
-
</tr>
|
|
50
|
-
</thead>
|
|
51
|
-
<tbody>
|
|
52
|
-
|
|
53
|
-
<tr>
|
|
54
|
-
<td class="strong"><a href="#e64b4aa0689b3f8ff45d292a7eff0cdb2d768f69" class="src_link" title="lib/api_resource/connection.rb">lib/api_resource/connection.rb</a></td>
|
|
55
|
-
<td class="yellow strong">84.69 %</td>
|
|
56
|
-
<td>195</td>
|
|
57
|
-
<td>98</td>
|
|
58
|
-
<td>83</td>
|
|
59
|
-
<td>15</td>
|
|
60
|
-
<td>89.0</td>
|
|
61
|
-
</tr>
|
|
62
|
-
|
|
63
|
-
<tr>
|
|
64
|
-
<td class="strong"><a href="#ec1a1cac18d6c808c0f034b4f3cea55cb1dcf314" class="src_link" title="lib/api_resource/decorators.rb">lib/api_resource/decorators.rb</a></td>
|
|
65
|
-
<td class="green strong">100.0 %</td>
|
|
66
|
-
<td>6</td>
|
|
67
|
-
<td>4</td>
|
|
68
|
-
<td>4</td>
|
|
69
|
-
<td>0</td>
|
|
70
|
-
<td>1.0</td>
|
|
71
|
-
</tr>
|
|
72
|
-
|
|
73
|
-
<tr>
|
|
74
|
-
<td class="strong"><a href="#be561bc262ecc80cc1a0243361455048314d923e" class="src_link" title="lib/api_resource/decorators/caching_decorator.rb">lib/api_resource/decorators/caching_decorator.rb</a></td>
|
|
75
|
-
<td class="green strong">100.0 %</td>
|
|
76
|
-
<td>20</td>
|
|
77
|
-
<td>11</td>
|
|
78
|
-
<td>11</td>
|
|
79
|
-
<td>0</td>
|
|
80
|
-
<td>1.5</td>
|
|
81
|
-
</tr>
|
|
82
|
-
|
|
83
|
-
<tr>
|
|
84
|
-
<td class="strong"><a href="#2f83e4896f2601097fcc684e900ce0e5b1d5a763" class="src_link" title="lib/api_resource/formats/xml_format.rb">lib/api_resource/formats/xml_format.rb</a></td>
|
|
85
|
-
<td class="red strong">66.67 %</td>
|
|
86
|
-
<td>36</td>
|
|
87
|
-
<td>18</td>
|
|
88
|
-
<td>12</td>
|
|
89
|
-
<td>6</td>
|
|
90
|
-
<td>0.7</td>
|
|
91
|
-
</tr>
|
|
92
|
-
|
|
93
|
-
<tr>
|
|
94
|
-
<td class="strong"><a href="#60f5d5efaac28ddb9fb45e06622238c80a28fded" class="src_link" title="lib/api_resource/local.rb">lib/api_resource/local.rb</a></td>
|
|
95
|
-
<td class="green strong">100.0 %</td>
|
|
96
|
-
<td>12</td>
|
|
97
|
-
<td>6</td>
|
|
98
|
-
<td>6</td>
|
|
99
|
-
<td>0</td>
|
|
100
|
-
<td>1.0</td>
|
|
101
|
-
</tr>
|
|
102
|
-
|
|
103
|
-
<tr>
|
|
104
|
-
<td class="strong"><a href="#e1424c288ff4d7b1028dfa6dec5e043302a0f243" class="src_link" title="lib/api_resource/mocks.rb">lib/api_resource/mocks.rb</a></td>
|
|
105
|
-
<td class="green strong">94.53 %</td>
|
|
106
|
-
<td>285</td>
|
|
107
|
-
<td>128</td>
|
|
108
|
-
<td>121</td>
|
|
109
|
-
<td>7</td>
|
|
110
|
-
<td>65.0</td>
|
|
111
|
-
</tr>
|
|
112
|
-
|
|
113
|
-
</tbody>
|
|
114
|
-
</table>
|
|
115
|
-
</div>
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
</div>
|
|
120
|
-
|
|
121
|
-
<div id="footer">
|
|
122
|
-
Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.7.1
|
|
123
|
-
and simplecov-html v0.7.1<br/>
|
|
124
|
-
using RSpec
|
|
125
|
-
</div>
|
|
126
|
-
|
|
127
|
-
<div class="source_files">
|
|
128
|
-
|
|
129
|
-
<div class="source_table" id="e64b4aa0689b3f8ff45d292a7eff0cdb2d768f69">
|
|
130
|
-
<div class="header">
|
|
131
|
-
<h3>lib/api_resource/connection.rb</h3>
|
|
132
|
-
<h4><span class="yellow">84.69 %</span> covered</h4>
|
|
133
|
-
<div>
|
|
134
|
-
<b>98</b> relevant lines.
|
|
135
|
-
<span class="green"><b>83</b> lines covered</span> and
|
|
136
|
-
<span class="red"><b>15</b> lines missed.</span>
|
|
137
|
-
</div>
|
|
138
|
-
</div>
|
|
139
|
-
|
|
140
|
-
<pre>
|
|
141
|
-
<ol>
|
|
142
|
-
|
|
143
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
|
144
|
-
<span class="hits">1</span>
|
|
145
|
-
|
|
146
|
-
<code class="ruby">require 'active_support/core_ext/benchmark'</code>
|
|
147
|
-
</li>
|
|
148
|
-
|
|
149
|
-
<li class="covered" data-hits="1" data-linenumber="2">
|
|
150
|
-
<span class="hits">1</span>
|
|
151
|
-
|
|
152
|
-
<code class="ruby">require 'rest_client'</code>
|
|
153
|
-
</li>
|
|
154
|
-
|
|
155
|
-
<li class="covered" data-hits="1" data-linenumber="3">
|
|
156
|
-
<span class="hits">1</span>
|
|
157
|
-
|
|
158
|
-
<code class="ruby">require 'net/https'</code>
|
|
159
|
-
</li>
|
|
160
|
-
|
|
161
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
|
162
|
-
<span class="hits">1</span>
|
|
163
|
-
|
|
164
|
-
<code class="ruby">require 'date'</code>
|
|
165
|
-
</li>
|
|
166
|
-
|
|
167
|
-
<li class="covered" data-hits="1" data-linenumber="5">
|
|
168
|
-
<span class="hits">1</span>
|
|
169
|
-
|
|
170
|
-
<code class="ruby">require 'time'</code>
|
|
171
|
-
</li>
|
|
172
|
-
|
|
173
|
-
<li class="covered" data-hits="1" data-linenumber="6">
|
|
174
|
-
<span class="hits">1</span>
|
|
175
|
-
|
|
176
|
-
<code class="ruby">require 'uri'</code>
|
|
177
|
-
</li>
|
|
178
|
-
|
|
179
|
-
<li class="never" data-hits="" data-linenumber="7">
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
<code class="ruby"></code>
|
|
183
|
-
</li>
|
|
184
|
-
|
|
185
|
-
<li class="covered" data-hits="1" data-linenumber="8">
|
|
186
|
-
<span class="hits">1</span>
|
|
187
|
-
|
|
188
|
-
<code class="ruby">module ApiResource</code>
|
|
189
|
-
</li>
|
|
190
|
-
|
|
191
|
-
<li class="never" data-hits="" data-linenumber="9">
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
<code class="ruby"> # Class to handle connections to remote web services.</code>
|
|
195
|
-
</li>
|
|
196
|
-
|
|
197
|
-
<li class="never" data-hits="" data-linenumber="10">
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
<code class="ruby"> # This class is used by ActiveResource::Base to interface with REST</code>
|
|
201
|
-
</li>
|
|
202
|
-
|
|
203
|
-
<li class="never" data-hits="" data-linenumber="11">
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
<code class="ruby"> # services.</code>
|
|
207
|
-
</li>
|
|
208
|
-
|
|
209
|
-
<li class="covered" data-hits="1" data-linenumber="12">
|
|
210
|
-
<span class="hits">1</span>
|
|
211
|
-
|
|
212
|
-
<code class="ruby"> class Connection</code>
|
|
213
|
-
</li>
|
|
214
|
-
|
|
215
|
-
<li class="never" data-hits="" data-linenumber="13">
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
<code class="ruby"></code>
|
|
219
|
-
</li>
|
|
220
|
-
|
|
221
|
-
<li class="covered" data-hits="1" data-linenumber="14">
|
|
222
|
-
<span class="hits">1</span>
|
|
223
|
-
|
|
224
|
-
<code class="ruby"> HTTP_FORMAT_HEADER_NAMES = { </code>
|
|
225
|
-
</li>
|
|
226
|
-
|
|
227
|
-
<li class="never" data-hits="" data-linenumber="15">
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
<code class="ruby"> :get => 'Accept',</code>
|
|
231
|
-
</li>
|
|
232
|
-
|
|
233
|
-
<li class="never" data-hits="" data-linenumber="16">
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
<code class="ruby"> :put => 'Content-Type',</code>
|
|
237
|
-
</li>
|
|
238
|
-
|
|
239
|
-
<li class="never" data-hits="" data-linenumber="17">
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
<code class="ruby"> :post => 'Content-Type',</code>
|
|
243
|
-
</li>
|
|
244
|
-
|
|
245
|
-
<li class="never" data-hits="" data-linenumber="18">
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
<code class="ruby"> :delete => 'Accept',</code>
|
|
249
|
-
</li>
|
|
250
|
-
|
|
251
|
-
<li class="never" data-hits="" data-linenumber="19">
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
<code class="ruby"> :head => 'Accept'</code>
|
|
255
|
-
</li>
|
|
256
|
-
|
|
257
|
-
<li class="never" data-hits="" data-linenumber="20">
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
<code class="ruby"> }</code>
|
|
261
|
-
</li>
|
|
262
|
-
|
|
263
|
-
<li class="never" data-hits="" data-linenumber="21">
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
<code class="ruby"></code>
|
|
267
|
-
</li>
|
|
268
|
-
|
|
269
|
-
<li class="covered" data-hits="1" data-linenumber="22">
|
|
270
|
-
<span class="hits">1</span>
|
|
271
|
-
|
|
272
|
-
<code class="ruby"> attr_reader :site, :user, :password, :auth_type, :timeout, :proxy, :ssl_options</code>
|
|
273
|
-
</li>
|
|
274
|
-
|
|
275
|
-
<li class="covered" data-hits="1" data-linenumber="23">
|
|
276
|
-
<span class="hits">1</span>
|
|
277
|
-
|
|
278
|
-
<code class="ruby"> attr_accessor :format, :headers</code>
|
|
279
|
-
</li>
|
|
280
|
-
|
|
281
|
-
<li class="never" data-hits="" data-linenumber="24">
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
<code class="ruby"></code>
|
|
285
|
-
</li>
|
|
286
|
-
|
|
287
|
-
<li class="covered" data-hits="1" data-linenumber="25">
|
|
288
|
-
<span class="hits">1</span>
|
|
289
|
-
|
|
290
|
-
<code class="ruby"> class << self</code>
|
|
291
|
-
</li>
|
|
292
|
-
|
|
293
|
-
<li class="covered" data-hits="1" data-linenumber="26">
|
|
294
|
-
<span class="hits">1</span>
|
|
295
|
-
|
|
296
|
-
<code class="ruby"> def requests</code>
|
|
297
|
-
</li>
|
|
298
|
-
|
|
299
|
-
<li class="missed" data-hits="0" data-linenumber="27">
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
<code class="ruby"> @@requests ||= []</code>
|
|
303
|
-
</li>
|
|
304
|
-
|
|
305
|
-
<li class="never" data-hits="" data-linenumber="28">
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
<code class="ruby"> end</code>
|
|
309
|
-
</li>
|
|
310
|
-
|
|
311
|
-
<li class="never" data-hits="" data-linenumber="29">
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
<code class="ruby"> end</code>
|
|
315
|
-
</li>
|
|
316
|
-
|
|
317
|
-
<li class="never" data-hits="" data-linenumber="30">
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
<code class="ruby"></code>
|
|
321
|
-
</li>
|
|
322
|
-
|
|
323
|
-
<li class="never" data-hits="" data-linenumber="31">
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
<code class="ruby"> # The +site+ parameter is required and will set the +site+</code>
|
|
327
|
-
</li>
|
|
328
|
-
|
|
329
|
-
<li class="never" data-hits="" data-linenumber="32">
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
<code class="ruby"> # attribute to the URI for the remote resource service.</code>
|
|
333
|
-
</li>
|
|
334
|
-
|
|
335
|
-
<li class="covered" data-hits="1" data-linenumber="33">
|
|
336
|
-
<span class="hits">1</span>
|
|
337
|
-
|
|
338
|
-
<code class="ruby"> def initialize(site, format = ApiResource::Formats::JsonFormat, headers)</code>
|
|
339
|
-
</li>
|
|
340
|
-
|
|
341
|
-
<li class="covered" data-hits="403" data-linenumber="34">
|
|
342
|
-
<span class="hits">403</span>
|
|
343
|
-
|
|
344
|
-
<code class="ruby"> raise ArgumentError, 'Missing site URI' unless site</code>
|
|
345
|
-
</li>
|
|
346
|
-
|
|
347
|
-
<li class="covered" data-hits="403" data-linenumber="35">
|
|
348
|
-
<span class="hits">403</span>
|
|
349
|
-
|
|
350
|
-
<code class="ruby"> @user = @password = nil</code>
|
|
351
|
-
</li>
|
|
352
|
-
|
|
353
|
-
<li class="covered" data-hits="403" data-linenumber="36">
|
|
354
|
-
<span class="hits">403</span>
|
|
355
|
-
|
|
356
|
-
<code class="ruby"> @uri_parser = URI.const_defined?(:Parser) ? URI::Parser.new : URI</code>
|
|
357
|
-
</li>
|
|
358
|
-
|
|
359
|
-
<li class="covered" data-hits="403" data-linenumber="37">
|
|
360
|
-
<span class="hits">403</span>
|
|
361
|
-
|
|
362
|
-
<code class="ruby"> self.site = site</code>
|
|
363
|
-
</li>
|
|
364
|
-
|
|
365
|
-
<li class="covered" data-hits="403" data-linenumber="38">
|
|
366
|
-
<span class="hits">403</span>
|
|
367
|
-
|
|
368
|
-
<code class="ruby"> self.format = format</code>
|
|
369
|
-
</li>
|
|
370
|
-
|
|
371
|
-
<li class="covered" data-hits="403" data-linenumber="39">
|
|
372
|
-
<span class="hits">403</span>
|
|
373
|
-
|
|
374
|
-
<code class="ruby"> self.headers = headers</code>
|
|
375
|
-
</li>
|
|
376
|
-
|
|
377
|
-
<li class="never" data-hits="" data-linenumber="40">
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
<code class="ruby"> end</code>
|
|
381
|
-
</li>
|
|
382
|
-
|
|
383
|
-
<li class="never" data-hits="" data-linenumber="41">
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
<code class="ruby"></code>
|
|
387
|
-
</li>
|
|
388
|
-
|
|
389
|
-
<li class="never" data-hits="" data-linenumber="42">
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
<code class="ruby"> # Set URI for remote service.</code>
|
|
393
|
-
</li>
|
|
394
|
-
|
|
395
|
-
<li class="covered" data-hits="1" data-linenumber="43">
|
|
396
|
-
<span class="hits">1</span>
|
|
397
|
-
|
|
398
|
-
<code class="ruby"> def site=(site)</code>
|
|
399
|
-
</li>
|
|
400
|
-
|
|
401
|
-
<li class="covered" data-hits="403" data-linenumber="44">
|
|
402
|
-
<span class="hits">403</span>
|
|
403
|
-
|
|
404
|
-
<code class="ruby"> @site = site.is_a?(URI) ? site : @uri_parser.parse(site)</code>
|
|
405
|
-
</li>
|
|
406
|
-
|
|
407
|
-
<li class="covered" data-hits="403" data-linenumber="45">
|
|
408
|
-
<span class="hits">403</span>
|
|
409
|
-
|
|
410
|
-
<code class="ruby"> @user = @uri_parser.unescape(@site.user) if @site.user</code>
|
|
411
|
-
</li>
|
|
412
|
-
|
|
413
|
-
<li class="covered" data-hits="403" data-linenumber="46">
|
|
414
|
-
<span class="hits">403</span>
|
|
415
|
-
|
|
416
|
-
<code class="ruby"> @password = @uri_parser.unescape(@site.password) if @site.password</code>
|
|
417
|
-
</li>
|
|
418
|
-
|
|
419
|
-
<li class="never" data-hits="" data-linenumber="47">
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
<code class="ruby"> end</code>
|
|
423
|
-
</li>
|
|
424
|
-
|
|
425
|
-
<li class="never" data-hits="" data-linenumber="48">
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
<code class="ruby"></code>
|
|
429
|
-
</li>
|
|
430
|
-
|
|
431
|
-
<li class="never" data-hits="" data-linenumber="49">
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
<code class="ruby"> # Sets the number of seconds after which HTTP requests to the remote service should time out.</code>
|
|
435
|
-
</li>
|
|
436
|
-
|
|
437
|
-
<li class="covered" data-hits="1" data-linenumber="50">
|
|
438
|
-
<span class="hits">1</span>
|
|
439
|
-
|
|
440
|
-
<code class="ruby"> def timeout=(timeout)</code>
|
|
441
|
-
</li>
|
|
442
|
-
|
|
443
|
-
<li class="covered" data-hits="667" data-linenumber="51">
|
|
444
|
-
<span class="hits">667</span>
|
|
445
|
-
|
|
446
|
-
<code class="ruby"> @timeout = timeout</code>
|
|
447
|
-
</li>
|
|
448
|
-
|
|
449
|
-
<li class="never" data-hits="" data-linenumber="52">
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
<code class="ruby"> end</code>
|
|
453
|
-
</li>
|
|
454
|
-
|
|
455
|
-
<li class="never" data-hits="" data-linenumber="53">
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
<code class="ruby"> </code>
|
|
459
|
-
</li>
|
|
460
|
-
|
|
461
|
-
<li class="covered" data-hits="1" data-linenumber="54">
|
|
462
|
-
<span class="hits">1</span>
|
|
463
|
-
|
|
464
|
-
<code class="ruby"> def get(path, headers = self.headers)</code>
|
|
465
|
-
</li>
|
|
466
|
-
|
|
467
|
-
<li class="never" data-hits="" data-linenumber="55">
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
<code class="ruby"> # our site and headers for this request</code>
|
|
471
|
-
</li>
|
|
472
|
-
|
|
473
|
-
<li class="covered" data-hits="210" data-linenumber="56">
|
|
474
|
-
<span class="hits">210</span>
|
|
475
|
-
|
|
476
|
-
<code class="ruby"> site = self.site.merge(path)</code>
|
|
477
|
-
</li>
|
|
478
|
-
|
|
479
|
-
<li class="covered" data-hits="210" data-linenumber="57">
|
|
480
|
-
<span class="hits">210</span>
|
|
481
|
-
|
|
482
|
-
<code class="ruby"> headers = build_request_headers(headers, :get, site)</code>
|
|
483
|
-
</li>
|
|
484
|
-
|
|
485
|
-
<li class="never" data-hits="" data-linenumber="58">
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
<code class="ruby"></code>
|
|
489
|
-
</li>
|
|
490
|
-
|
|
491
|
-
<li class="covered" data-hits="210" data-linenumber="59">
|
|
492
|
-
<span class="hits">210</span>
|
|
493
|
-
|
|
494
|
-
<code class="ruby"> self.with_caching(path, headers) do</code>
|
|
495
|
-
</li>
|
|
496
|
-
|
|
497
|
-
<li class="covered" data-hits="207" data-linenumber="60">
|
|
498
|
-
<span class="hits">207</span>
|
|
499
|
-
|
|
500
|
-
<code class="ruby"> format.decode(request(:get, path, headers))</code>
|
|
501
|
-
</li>
|
|
502
|
-
|
|
503
|
-
<li class="never" data-hits="" data-linenumber="61">
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
<code class="ruby"> end</code>
|
|
507
|
-
</li>
|
|
508
|
-
|
|
509
|
-
<li class="never" data-hits="" data-linenumber="62">
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
<code class="ruby"> end</code>
|
|
513
|
-
</li>
|
|
514
|
-
|
|
515
|
-
<li class="never" data-hits="" data-linenumber="63">
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
<code class="ruby"> </code>
|
|
519
|
-
</li>
|
|
520
|
-
|
|
521
|
-
<li class="covered" data-hits="1" data-linenumber="64">
|
|
522
|
-
<span class="hits">1</span>
|
|
523
|
-
|
|
524
|
-
<code class="ruby"> def delete(path, headers = self.headers)</code>
|
|
525
|
-
</li>
|
|
526
|
-
|
|
527
|
-
<li class="covered" data-hits="4" data-linenumber="65">
|
|
528
|
-
<span class="hits">4</span>
|
|
529
|
-
|
|
530
|
-
<code class="ruby"> request(:delete, path, build_request_headers(headers, :delete, self.site.merge(path)))</code>
|
|
531
|
-
</li>
|
|
532
|
-
|
|
533
|
-
<li class="covered" data-hits="4" data-linenumber="66">
|
|
534
|
-
<span class="hits">4</span>
|
|
535
|
-
|
|
536
|
-
<code class="ruby"> return true</code>
|
|
537
|
-
</li>
|
|
538
|
-
|
|
539
|
-
<li class="never" data-hits="" data-linenumber="67">
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
<code class="ruby"> end</code>
|
|
543
|
-
</li>
|
|
544
|
-
|
|
545
|
-
<li class="never" data-hits="" data-linenumber="68">
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
<code class="ruby"> </code>
|
|
549
|
-
</li>
|
|
550
|
-
|
|
551
|
-
<li class="covered" data-hits="1" data-linenumber="69">
|
|
552
|
-
<span class="hits">1</span>
|
|
553
|
-
|
|
554
|
-
<code class="ruby"> def head(path, headers = self.headers)</code>
|
|
555
|
-
</li>
|
|
556
|
-
|
|
557
|
-
<li class="covered" data-hits="1" data-linenumber="70">
|
|
558
|
-
<span class="hits">1</span>
|
|
559
|
-
|
|
560
|
-
<code class="ruby"> request(:head, path, build_request_headers(headers, :head, self.site.merge(path)))</code>
|
|
561
|
-
</li>
|
|
562
|
-
|
|
563
|
-
<li class="never" data-hits="" data-linenumber="71">
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
<code class="ruby"> end</code>
|
|
567
|
-
</li>
|
|
568
|
-
|
|
569
|
-
<li class="never" data-hits="" data-linenumber="72">
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
<code class="ruby"> </code>
|
|
573
|
-
</li>
|
|
574
|
-
|
|
575
|
-
<li class="never" data-hits="" data-linenumber="73">
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
<code class="ruby"> </code>
|
|
579
|
-
</li>
|
|
580
|
-
|
|
581
|
-
<li class="covered" data-hits="1" data-linenumber="74">
|
|
582
|
-
<span class="hits">1</span>
|
|
583
|
-
|
|
584
|
-
<code class="ruby"> def put(path, body = {}, headers = self.headers)</code>
|
|
585
|
-
</li>
|
|
586
|
-
|
|
587
|
-
<li class="never" data-hits="" data-linenumber="75">
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
<code class="ruby"> # If there's a file to send then we can't use JSON or XML</code>
|
|
591
|
-
</li>
|
|
592
|
-
|
|
593
|
-
<li class="covered" data-hits="2" data-linenumber="76">
|
|
594
|
-
<span class="hits">2</span>
|
|
595
|
-
|
|
596
|
-
<code class="ruby"> if !body.is_a?(String) && RestClient::Payload.has_file?(body)</code>
|
|
597
|
-
</li>
|
|
598
|
-
|
|
599
|
-
<li class="missed" data-hits="0" data-linenumber="77">
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
<code class="ruby"> format.decode(request(:put, path, body, build_request_headers(headers, :put, self.site.merge(path))))</code>
|
|
603
|
-
</li>
|
|
604
|
-
|
|
605
|
-
<li class="never" data-hits="" data-linenumber="78">
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
<code class="ruby"> else</code>
|
|
609
|
-
</li>
|
|
610
|
-
|
|
611
|
-
<li class="covered" data-hits="2" data-linenumber="79">
|
|
612
|
-
<span class="hits">2</span>
|
|
613
|
-
|
|
614
|
-
<code class="ruby"> format.decode(request(:put, path, body, build_request_headers(headers, :put, self.site.merge(path))))</code>
|
|
615
|
-
</li>
|
|
616
|
-
|
|
617
|
-
<li class="never" data-hits="" data-linenumber="80">
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
<code class="ruby"> end</code>
|
|
621
|
-
</li>
|
|
622
|
-
|
|
623
|
-
<li class="never" data-hits="" data-linenumber="81">
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
<code class="ruby"> end</code>
|
|
627
|
-
</li>
|
|
628
|
-
|
|
629
|
-
<li class="never" data-hits="" data-linenumber="82">
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
<code class="ruby"> </code>
|
|
633
|
-
</li>
|
|
634
|
-
|
|
635
|
-
<li class="covered" data-hits="1" data-linenumber="83">
|
|
636
|
-
<span class="hits">1</span>
|
|
637
|
-
|
|
638
|
-
<code class="ruby"> def post(path, body = {}, headers = self.headers)</code>
|
|
639
|
-
</li>
|
|
640
|
-
|
|
641
|
-
<li class="covered" data-hits="5" data-linenumber="84">
|
|
642
|
-
<span class="hits">5</span>
|
|
643
|
-
|
|
644
|
-
<code class="ruby"> if !body.is_a?(String) && RestClient::Payload.has_file?(body)</code>
|
|
645
|
-
</li>
|
|
646
|
-
|
|
647
|
-
<li class="missed" data-hits="0" data-linenumber="85">
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
<code class="ruby"> format.decode(request(:post, path, body, build_request_headers(headers, :post, self.site.merge(path))))</code>
|
|
651
|
-
</li>
|
|
652
|
-
|
|
653
|
-
<li class="never" data-hits="" data-linenumber="86">
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
<code class="ruby"> else</code>
|
|
657
|
-
</li>
|
|
658
|
-
|
|
659
|
-
<li class="covered" data-hits="5" data-linenumber="87">
|
|
660
|
-
<span class="hits">5</span>
|
|
661
|
-
|
|
662
|
-
<code class="ruby"> format.decode(request(:post, path, body, build_request_headers(headers, :post, self.site.merge(path))))</code>
|
|
663
|
-
</li>
|
|
664
|
-
|
|
665
|
-
<li class="never" data-hits="" data-linenumber="88">
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
<code class="ruby"> end</code>
|
|
669
|
-
</li>
|
|
670
|
-
|
|
671
|
-
<li class="never" data-hits="" data-linenumber="89">
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
<code class="ruby"> end</code>
|
|
675
|
-
</li>
|
|
676
|
-
|
|
677
|
-
<li class="never" data-hits="" data-linenumber="90">
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
<code class="ruby"></code>
|
|
681
|
-
</li>
|
|
682
|
-
|
|
683
|
-
<li class="covered" data-hits="1" data-linenumber="91">
|
|
684
|
-
<span class="hits">1</span>
|
|
685
|
-
|
|
686
|
-
<code class="ruby"> protected</code>
|
|
687
|
-
</li>
|
|
688
|
-
|
|
689
|
-
<li class="never" data-hits="" data-linenumber="92">
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
<code class="ruby"></code>
|
|
693
|
-
</li>
|
|
694
|
-
|
|
695
|
-
<li class="covered" data-hits="1" data-linenumber="93">
|
|
696
|
-
<span class="hits">1</span>
|
|
697
|
-
|
|
698
|
-
<code class="ruby"> def cache_key(path, headers)</code>
|
|
699
|
-
</li>
|
|
700
|
-
|
|
701
|
-
<li class="covered" data-hits="5" data-linenumber="94">
|
|
702
|
-
<span class="hits">5</span>
|
|
703
|
-
|
|
704
|
-
<code class="ruby"> key = Digest::MD5.hexdigest([path, headers].to_s)</code>
|
|
705
|
-
</li>
|
|
706
|
-
|
|
707
|
-
<li class="covered" data-hits="5" data-linenumber="95">
|
|
708
|
-
<span class="hits">5</span>
|
|
709
|
-
|
|
710
|
-
<code class="ruby"> return "a-#{key}-#{ApiResource::Base.ttl}"</code>
|
|
711
|
-
</li>
|
|
712
|
-
|
|
713
|
-
<li class="never" data-hits="" data-linenumber="96">
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
<code class="ruby"> end</code>
|
|
717
|
-
</li>
|
|
718
|
-
|
|
719
|
-
<li class="never" data-hits="" data-linenumber="97">
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
<code class="ruby"></code>
|
|
723
|
-
</li>
|
|
724
|
-
|
|
725
|
-
<li class="covered" data-hits="1" data-linenumber="98">
|
|
726
|
-
<span class="hits">1</span>
|
|
727
|
-
|
|
728
|
-
<code class="ruby"> def with_caching(path, data = {}, &block)</code>
|
|
729
|
-
</li>
|
|
730
|
-
|
|
731
|
-
<li class="covered" data-hits="210" data-linenumber="99">
|
|
732
|
-
<span class="hits">210</span>
|
|
733
|
-
|
|
734
|
-
<code class="ruby"> if ApiResource::Base.ttl.to_f > 0.0</code>
|
|
735
|
-
</li>
|
|
736
|
-
|
|
737
|
-
<li class="covered" data-hits="5" data-linenumber="100">
|
|
738
|
-
<span class="hits">5</span>
|
|
739
|
-
|
|
740
|
-
<code class="ruby"> key = self.cache_key(path, data)</code>
|
|
741
|
-
</li>
|
|
742
|
-
|
|
743
|
-
<li class="covered" data-hits="5" data-linenumber="101">
|
|
744
|
-
<span class="hits">5</span>
|
|
745
|
-
|
|
746
|
-
<code class="ruby"> ApiResource.cache.fetch(key, :expires_in => ApiResource::Base.ttl) do</code>
|
|
747
|
-
</li>
|
|
748
|
-
|
|
749
|
-
<li class="covered" data-hits="2" data-linenumber="102">
|
|
750
|
-
<span class="hits">2</span>
|
|
751
|
-
|
|
752
|
-
<code class="ruby"> yield</code>
|
|
753
|
-
</li>
|
|
754
|
-
|
|
755
|
-
<li class="never" data-hits="" data-linenumber="103">
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
<code class="ruby"> end</code>
|
|
759
|
-
</li>
|
|
760
|
-
|
|
761
|
-
<li class="never" data-hits="" data-linenumber="104">
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
<code class="ruby"> else</code>
|
|
765
|
-
</li>
|
|
766
|
-
|
|
767
|
-
<li class="covered" data-hits="205" data-linenumber="105">
|
|
768
|
-
<span class="hits">205</span>
|
|
769
|
-
|
|
770
|
-
<code class="ruby"> yield</code>
|
|
771
|
-
</li>
|
|
772
|
-
|
|
773
|
-
<li class="never" data-hits="" data-linenumber="106">
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
<code class="ruby"> end</code>
|
|
777
|
-
</li>
|
|
778
|
-
|
|
779
|
-
<li class="never" data-hits="" data-linenumber="107">
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
<code class="ruby"> end</code>
|
|
783
|
-
</li>
|
|
784
|
-
|
|
785
|
-
<li class="never" data-hits="" data-linenumber="108">
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
<code class="ruby"></code>
|
|
789
|
-
</li>
|
|
790
|
-
|
|
791
|
-
<li class="covered" data-hits="1" data-linenumber="109">
|
|
792
|
-
<span class="hits">1</span>
|
|
793
|
-
|
|
794
|
-
<code class="ruby"> private</code>
|
|
795
|
-
</li>
|
|
796
|
-
|
|
797
|
-
<li class="never" data-hits="" data-linenumber="110">
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
<code class="ruby"> # Makes a request to the remote service.</code>
|
|
801
|
-
</li>
|
|
802
|
-
|
|
803
|
-
<li class="covered" data-hits="1" data-linenumber="111">
|
|
804
|
-
<span class="hits">1</span>
|
|
805
|
-
|
|
806
|
-
<code class="ruby"> def request(method, path, *arguments)</code>
|
|
807
|
-
</li>
|
|
808
|
-
|
|
809
|
-
<li class="covered" data-hits="219" data-linenumber="112">
|
|
810
|
-
<span class="hits">219</span>
|
|
811
|
-
|
|
812
|
-
<code class="ruby"> handle_response(path) do</code>
|
|
813
|
-
</li>
|
|
814
|
-
|
|
815
|
-
<li class="covered" data-hits="219" data-linenumber="113">
|
|
816
|
-
<span class="hits">219</span>
|
|
817
|
-
|
|
818
|
-
<code class="ruby"> ActiveSupport::Notifications.instrument("request.api_resource") do |payload|</code>
|
|
819
|
-
</li>
|
|
820
|
-
|
|
821
|
-
<li class="never" data-hits="" data-linenumber="114">
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
<code class="ruby"> </code>
|
|
825
|
-
</li>
|
|
826
|
-
|
|
827
|
-
<li class="never" data-hits="" data-linenumber="115">
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
<code class="ruby"> # debug logging</code>
|
|
831
|
-
</li>
|
|
832
|
-
|
|
833
|
-
<li class="covered" data-hits="219" data-linenumber="116">
|
|
834
|
-
<span class="hits">219</span>
|
|
835
|
-
|
|
836
|
-
<code class="ruby"> ApiResource.logger.debug("#{method.to_s.upcase} #{site.scheme}://#{site.host}:#{site.port}#{path}")</code>
|
|
837
|
-
</li>
|
|
838
|
-
|
|
839
|
-
<li class="never" data-hits="" data-linenumber="117">
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
<code class="ruby"> </code>
|
|
843
|
-
</li>
|
|
844
|
-
|
|
845
|
-
<li class="covered" data-hits="219" data-linenumber="118">
|
|
846
|
-
<span class="hits">219</span>
|
|
847
|
-
|
|
848
|
-
<code class="ruby"> payload[:method] = method</code>
|
|
849
|
-
</li>
|
|
850
|
-
|
|
851
|
-
<li class="covered" data-hits="219" data-linenumber="119">
|
|
852
|
-
<span class="hits">219</span>
|
|
853
|
-
|
|
854
|
-
<code class="ruby"> payload[:request_uri] = "#{site.scheme}://#{site.host}:#{site.port}#{path}"</code>
|
|
855
|
-
</li>
|
|
856
|
-
|
|
857
|
-
<li class="covered" data-hits="219" data-linenumber="120">
|
|
858
|
-
<span class="hits">219</span>
|
|
859
|
-
|
|
860
|
-
<code class="ruby"> payload[:result] = http(path).send(method, *arguments)</code>
|
|
861
|
-
</li>
|
|
862
|
-
|
|
863
|
-
<li class="never" data-hits="" data-linenumber="121">
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
<code class="ruby"> end</code>
|
|
867
|
-
</li>
|
|
868
|
-
|
|
869
|
-
<li class="never" data-hits="" data-linenumber="122">
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
<code class="ruby"> end</code>
|
|
873
|
-
</li>
|
|
874
|
-
|
|
875
|
-
<li class="never" data-hits="" data-linenumber="123">
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
<code class="ruby"> end</code>
|
|
879
|
-
</li>
|
|
880
|
-
|
|
881
|
-
<li class="never" data-hits="" data-linenumber="124">
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
<code class="ruby"></code>
|
|
885
|
-
</li>
|
|
886
|
-
|
|
887
|
-
<li class="never" data-hits="" data-linenumber="125">
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
<code class="ruby"> # Handles response and error codes from the remote service.</code>
|
|
891
|
-
</li>
|
|
892
|
-
|
|
893
|
-
<li class="covered" data-hits="1" data-linenumber="126">
|
|
894
|
-
<span class="hits">1</span>
|
|
895
|
-
|
|
896
|
-
<code class="ruby"> def handle_response(path, &block)</code>
|
|
897
|
-
</li>
|
|
898
|
-
|
|
899
|
-
<li class="covered" data-hits="219" data-linenumber="127">
|
|
900
|
-
<span class="hits">219</span>
|
|
901
|
-
|
|
902
|
-
<code class="ruby"> begin</code>
|
|
903
|
-
</li>
|
|
904
|
-
|
|
905
|
-
<li class="covered" data-hits="219" data-linenumber="128">
|
|
906
|
-
<span class="hits">219</span>
|
|
907
|
-
|
|
908
|
-
<code class="ruby"> result = yield</code>
|
|
909
|
-
</li>
|
|
910
|
-
|
|
911
|
-
<li class="never" data-hits="" data-linenumber="129">
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
<code class="ruby"> rescue RestClient::RequestTimeout</code>
|
|
915
|
-
</li>
|
|
916
|
-
|
|
917
|
-
<li class="covered" data-hits="1" data-linenumber="130">
|
|
918
|
-
<span class="hits">1</span>
|
|
919
|
-
|
|
920
|
-
<code class="ruby"> raise ApiResource::RequestTimeout.new("Request Time Out - Accessing #{path}}")</code>
|
|
921
|
-
</li>
|
|
922
|
-
|
|
923
|
-
<li class="never" data-hits="" data-linenumber="131">
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
<code class="ruby"> rescue Exception => error</code>
|
|
927
|
-
</li>
|
|
928
|
-
|
|
929
|
-
<li class="covered" data-hits="3" data-linenumber="132">
|
|
930
|
-
<span class="hits">3</span>
|
|
931
|
-
|
|
932
|
-
<code class="ruby"> if error.respond_to?(:http_code)</code>
|
|
933
|
-
</li>
|
|
934
|
-
|
|
935
|
-
<li class="covered" data-hits="3" data-linenumber="133">
|
|
936
|
-
<span class="hits">3</span>
|
|
937
|
-
|
|
938
|
-
<code class="ruby"> ApiResource.logger.error("#{self} accessing #{path}")</code>
|
|
939
|
-
</li>
|
|
940
|
-
|
|
941
|
-
<li class="covered" data-hits="3" data-linenumber="134">
|
|
942
|
-
<span class="hits">3</span>
|
|
943
|
-
|
|
944
|
-
<code class="ruby"> ApiResource.logger.error(error.message)</code>
|
|
945
|
-
</li>
|
|
946
|
-
|
|
947
|
-
<li class="covered" data-hits="3" data-linenumber="135">
|
|
948
|
-
<span class="hits">3</span>
|
|
949
|
-
|
|
950
|
-
<code class="ruby"> result = error.response</code>
|
|
951
|
-
</li>
|
|
952
|
-
|
|
953
|
-
<li class="never" data-hits="" data-linenumber="136">
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
<code class="ruby"> else</code>
|
|
957
|
-
</li>
|
|
958
|
-
|
|
959
|
-
<li class="missed" data-hits="0" data-linenumber="137">
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
<code class="ruby"> raise ApiResource::ConnectionError.new(nil, :message => "Unknown error #{error}")</code>
|
|
963
|
-
</li>
|
|
964
|
-
|
|
965
|
-
<li class="never" data-hits="" data-linenumber="138">
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
<code class="ruby"> end</code>
|
|
969
|
-
</li>
|
|
970
|
-
|
|
971
|
-
<li class="never" data-hits="" data-linenumber="139">
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
<code class="ruby"> end</code>
|
|
975
|
-
</li>
|
|
976
|
-
|
|
977
|
-
<li class="covered" data-hits="218" data-linenumber="140">
|
|
978
|
-
<span class="hits">218</span>
|
|
979
|
-
|
|
980
|
-
<code class="ruby"> return propogate_response_or_error(result, result.code)</code>
|
|
981
|
-
</li>
|
|
982
|
-
|
|
983
|
-
<li class="never" data-hits="" data-linenumber="141">
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
<code class="ruby"> end</code>
|
|
987
|
-
</li>
|
|
988
|
-
|
|
989
|
-
<li class="never" data-hits="" data-linenumber="142">
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
<code class="ruby"> </code>
|
|
993
|
-
</li>
|
|
994
|
-
|
|
995
|
-
<li class="covered" data-hits="1" data-linenumber="143">
|
|
996
|
-
<span class="hits">1</span>
|
|
997
|
-
|
|
998
|
-
<code class="ruby"> def propogate_response_or_error(response, code)</code>
|
|
999
|
-
</li>
|
|
1000
|
-
|
|
1001
|
-
<li class="covered" data-hits="218" data-linenumber="144">
|
|
1002
|
-
<span class="hits">218</span>
|
|
1003
|
-
|
|
1004
|
-
<code class="ruby"> case code.to_i</code>
|
|
1005
|
-
</li>
|
|
1006
|
-
|
|
1007
|
-
<li class="never" data-hits="" data-linenumber="145">
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
<code class="ruby"> when 301,302</code>
|
|
1011
|
-
</li>
|
|
1012
|
-
|
|
1013
|
-
<li class="missed" data-hits="0" data-linenumber="146">
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
<code class="ruby"> raise ApiResource::Redirection.new(response)</code>
|
|
1017
|
-
</li>
|
|
1018
|
-
|
|
1019
|
-
<li class="never" data-hits="" data-linenumber="147">
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
<code class="ruby"> when 200..400</code>
|
|
1023
|
-
</li>
|
|
1024
|
-
|
|
1025
|
-
<li class="covered" data-hits="213" data-linenumber="148">
|
|
1026
|
-
<span class="hits">213</span>
|
|
1027
|
-
|
|
1028
|
-
<code class="ruby"> response.body</code>
|
|
1029
|
-
</li>
|
|
1030
|
-
|
|
1031
|
-
<li class="never" data-hits="" data-linenumber="149">
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
<code class="ruby"> when 400</code>
|
|
1035
|
-
</li>
|
|
1036
|
-
|
|
1037
|
-
<li class="missed" data-hits="0" data-linenumber="150">
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
<code class="ruby"> raise ApiResource::BadRequest.new(response)</code>
|
|
1041
|
-
</li>
|
|
1042
|
-
|
|
1043
|
-
<li class="never" data-hits="" data-linenumber="151">
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
<code class="ruby"> when 401</code>
|
|
1047
|
-
</li>
|
|
1048
|
-
|
|
1049
|
-
<li class="missed" data-hits="0" data-linenumber="152">
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
<code class="ruby"> raise ApiResource::UnauthorizedAccess.new(response)</code>
|
|
1053
|
-
</li>
|
|
1054
|
-
|
|
1055
|
-
<li class="never" data-hits="" data-linenumber="153">
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
<code class="ruby"> when 403</code>
|
|
1059
|
-
</li>
|
|
1060
|
-
|
|
1061
|
-
<li class="missed" data-hits="0" data-linenumber="154">
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
<code class="ruby"> raise ApiResource::ForbiddenAccess.new(response)</code>
|
|
1065
|
-
</li>
|
|
1066
|
-
|
|
1067
|
-
<li class="never" data-hits="" data-linenumber="155">
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
<code class="ruby"> when 404</code>
|
|
1071
|
-
</li>
|
|
1072
|
-
|
|
1073
|
-
<li class="covered" data-hits="3" data-linenumber="156">
|
|
1074
|
-
<span class="hits">3</span>
|
|
1075
|
-
|
|
1076
|
-
<code class="ruby"> raise ApiResource::ResourceNotFound.new(response)</code>
|
|
1077
|
-
</li>
|
|
1078
|
-
|
|
1079
|
-
<li class="never" data-hits="" data-linenumber="157">
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
<code class="ruby"> when 405</code>
|
|
1083
|
-
</li>
|
|
1084
|
-
|
|
1085
|
-
<li class="missed" data-hits="0" data-linenumber="158">
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
<code class="ruby"> raise ApiResource::MethodNotAllowed.new(response)</code>
|
|
1089
|
-
</li>
|
|
1090
|
-
|
|
1091
|
-
<li class="never" data-hits="" data-linenumber="159">
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
<code class="ruby"> when 406</code>
|
|
1095
|
-
</li>
|
|
1096
|
-
|
|
1097
|
-
<li class="missed" data-hits="0" data-linenumber="160">
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
<code class="ruby"> raise ApiResource::NotAccepatable.new(response)</code>
|
|
1101
|
-
</li>
|
|
1102
|
-
|
|
1103
|
-
<li class="never" data-hits="" data-linenumber="161">
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
<code class="ruby"> when 409</code>
|
|
1107
|
-
</li>
|
|
1108
|
-
|
|
1109
|
-
<li class="missed" data-hits="0" data-linenumber="162">
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
<code class="ruby"> raise ApiResource::ResourceNotFound.new(response)</code>
|
|
1113
|
-
</li>
|
|
1114
|
-
|
|
1115
|
-
<li class="never" data-hits="" data-linenumber="163">
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
<code class="ruby"> when 410</code>
|
|
1119
|
-
</li>
|
|
1120
|
-
|
|
1121
|
-
<li class="missed" data-hits="0" data-linenumber="164">
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
<code class="ruby"> raise ApiResource::ResourceGone.new(response)</code>
|
|
1125
|
-
</li>
|
|
1126
|
-
|
|
1127
|
-
<li class="never" data-hits="" data-linenumber="165">
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
<code class="ruby"> when 422</code>
|
|
1131
|
-
</li>
|
|
1132
|
-
|
|
1133
|
-
<li class="covered" data-hits="2" data-linenumber="166">
|
|
1134
|
-
<span class="hits">2</span>
|
|
1135
|
-
|
|
1136
|
-
<code class="ruby"> raise ApiResource::UnprocessableEntity.new(response)</code>
|
|
1137
|
-
</li>
|
|
1138
|
-
|
|
1139
|
-
<li class="never" data-hits="" data-linenumber="167">
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
<code class="ruby"> when 401..499</code>
|
|
1143
|
-
</li>
|
|
1144
|
-
|
|
1145
|
-
<li class="missed" data-hits="0" data-linenumber="168">
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
<code class="ruby"> raise ApiResource::ClientError.new(response)</code>
|
|
1149
|
-
</li>
|
|
1150
|
-
|
|
1151
|
-
<li class="never" data-hits="" data-linenumber="169">
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
<code class="ruby"> when 500..600</code>
|
|
1155
|
-
</li>
|
|
1156
|
-
|
|
1157
|
-
<li class="missed" data-hits="0" data-linenumber="170">
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
<code class="ruby"> raise ApiResource::ServerError.new(response)</code>
|
|
1161
|
-
</li>
|
|
1162
|
-
|
|
1163
|
-
<li class="never" data-hits="" data-linenumber="171">
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
<code class="ruby"> else</code>
|
|
1167
|
-
</li>
|
|
1168
|
-
|
|
1169
|
-
<li class="missed" data-hits="0" data-linenumber="172">
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
<code class="ruby"> raise ApiResource::ConnectionError.new(response, :message => "Unknown response code: #{code}")</code>
|
|
1173
|
-
</li>
|
|
1174
|
-
|
|
1175
|
-
<li class="never" data-hits="" data-linenumber="173">
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
<code class="ruby"> end</code>
|
|
1179
|
-
</li>
|
|
1180
|
-
|
|
1181
|
-
<li class="never" data-hits="" data-linenumber="174">
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
<code class="ruby"> end</code>
|
|
1185
|
-
</li>
|
|
1186
|
-
|
|
1187
|
-
<li class="never" data-hits="" data-linenumber="175">
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
<code class="ruby"> </code>
|
|
1191
|
-
</li>
|
|
1192
|
-
|
|
1193
|
-
<li class="never" data-hits="" data-linenumber="176">
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
<code class="ruby"> # Creates new Net::HTTP instance for communication with the</code>
|
|
1197
|
-
</li>
|
|
1198
|
-
|
|
1199
|
-
<li class="never" data-hits="" data-linenumber="177">
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
<code class="ruby"> # remote service and resources.</code>
|
|
1203
|
-
</li>
|
|
1204
|
-
|
|
1205
|
-
<li class="covered" data-hits="1" data-linenumber="178">
|
|
1206
|
-
<span class="hits">1</span>
|
|
1207
|
-
|
|
1208
|
-
<code class="ruby"> def http(path)</code>
|
|
1209
|
-
</li>
|
|
1210
|
-
|
|
1211
|
-
<li class="covered" data-hits="4" data-linenumber="179">
|
|
1212
|
-
<span class="hits">4</span>
|
|
1213
|
-
|
|
1214
|
-
<code class="ruby"> unless path =~ /\./</code>
|
|
1215
|
-
</li>
|
|
1216
|
-
|
|
1217
|
-
<li class="covered" data-hits="4" data-linenumber="180">
|
|
1218
|
-
<span class="hits">4</span>
|
|
1219
|
-
|
|
1220
|
-
<code class="ruby"> path += ".#{self.format.extension}"</code>
|
|
1221
|
-
</li>
|
|
1222
|
-
|
|
1223
|
-
<li class="never" data-hits="" data-linenumber="181">
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
<code class="ruby"> end</code>
|
|
1227
|
-
</li>
|
|
1228
|
-
|
|
1229
|
-
<li class="covered" data-hits="4" data-linenumber="182">
|
|
1230
|
-
<span class="hits">4</span>
|
|
1231
|
-
|
|
1232
|
-
<code class="ruby"> RestClient::Resource.new("#{site.scheme}://#{site.host}:#{site.port}#{path}", {:timeout => ApiResource::Base.timeout, :open_timeout => ApiResource::Base.open_timeout})</code>
|
|
1233
|
-
</li>
|
|
1234
|
-
|
|
1235
|
-
<li class="never" data-hits="" data-linenumber="183">
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
<code class="ruby"> end</code>
|
|
1239
|
-
</li>
|
|
1240
|
-
|
|
1241
|
-
<li class="never" data-hits="" data-linenumber="184">
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
<code class="ruby"> </code>
|
|
1245
|
-
</li>
|
|
1246
|
-
|
|
1247
|
-
<li class="covered" data-hits="1" data-linenumber="185">
|
|
1248
|
-
<span class="hits">1</span>
|
|
1249
|
-
|
|
1250
|
-
<code class="ruby"> def build_request_headers(headers, verb, uri)</code>
|
|
1251
|
-
</li>
|
|
1252
|
-
|
|
1253
|
-
<li class="covered" data-hits="222" data-linenumber="186">
|
|
1254
|
-
<span class="hits">222</span>
|
|
1255
|
-
|
|
1256
|
-
<code class="ruby"> http_format_header(verb).update(headers)</code>
|
|
1257
|
-
</li>
|
|
1258
|
-
|
|
1259
|
-
<li class="never" data-hits="" data-linenumber="187">
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
<code class="ruby"> end</code>
|
|
1263
|
-
</li>
|
|
1264
|
-
|
|
1265
|
-
<li class="never" data-hits="" data-linenumber="188">
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
<code class="ruby"> </code>
|
|
1269
|
-
</li>
|
|
1270
|
-
|
|
1271
|
-
<li class="covered" data-hits="1" data-linenumber="189">
|
|
1272
|
-
<span class="hits">1</span>
|
|
1273
|
-
|
|
1274
|
-
<code class="ruby"> def http_format_header(verb)</code>
|
|
1275
|
-
</li>
|
|
1276
|
-
|
|
1277
|
-
<li class="covered" data-hits="222" data-linenumber="190">
|
|
1278
|
-
<span class="hits">222</span>
|
|
1279
|
-
|
|
1280
|
-
<code class="ruby"> {}.tap do |ret|</code>
|
|
1281
|
-
</li>
|
|
1282
|
-
|
|
1283
|
-
<li class="covered" data-hits="222" data-linenumber="191">
|
|
1284
|
-
<span class="hits">222</span>
|
|
1285
|
-
|
|
1286
|
-
<code class="ruby"> ret[HTTP_FORMAT_HEADER_NAMES[verb]] = format.mime_type</code>
|
|
1287
|
-
</li>
|
|
1288
|
-
|
|
1289
|
-
<li class="never" data-hits="" data-linenumber="192">
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
<code class="ruby"> end</code>
|
|
1293
|
-
</li>
|
|
1294
|
-
|
|
1295
|
-
<li class="never" data-hits="" data-linenumber="193">
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
<code class="ruby"> end</code>
|
|
1299
|
-
</li>
|
|
1300
|
-
|
|
1301
|
-
<li class="never" data-hits="" data-linenumber="194">
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
<code class="ruby"> end</code>
|
|
1305
|
-
</li>
|
|
1306
|
-
|
|
1307
|
-
<li class="never" data-hits="" data-linenumber="195">
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
<code class="ruby">end</code>
|
|
1311
|
-
</li>
|
|
1312
|
-
|
|
1313
|
-
</ol>
|
|
1314
|
-
</pre>
|
|
1315
|
-
</div>
|
|
1316
|
-
|
|
1317
|
-
<div class="source_table" id="ec1a1cac18d6c808c0f034b4f3cea55cb1dcf314">
|
|
1318
|
-
<div class="header">
|
|
1319
|
-
<h3>lib/api_resource/decorators.rb</h3>
|
|
1320
|
-
<h4><span class="green">100.0 %</span> covered</h4>
|
|
1321
|
-
<div>
|
|
1322
|
-
<b>4</b> relevant lines.
|
|
1323
|
-
<span class="green"><b>4</b> lines covered</span> and
|
|
1324
|
-
<span class="red"><b>0</b> lines missed.</span>
|
|
1325
|
-
</div>
|
|
1326
|
-
</div>
|
|
1327
|
-
|
|
1328
|
-
<pre>
|
|
1329
|
-
<ol>
|
|
1330
|
-
|
|
1331
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
|
1332
|
-
<span class="hits">1</span>
|
|
1333
|
-
|
|
1334
|
-
<code class="ruby">module ApiResource</code>
|
|
1335
|
-
</li>
|
|
1336
|
-
|
|
1337
|
-
<li class="covered" data-hits="1" data-linenumber="2">
|
|
1338
|
-
<span class="hits">1</span>
|
|
1339
|
-
|
|
1340
|
-
<code class="ruby"> module Decorators</code>
|
|
1341
|
-
</li>
|
|
1342
|
-
|
|
1343
|
-
<li class="covered" data-hits="1" data-linenumber="3">
|
|
1344
|
-
<span class="hits">1</span>
|
|
1345
|
-
|
|
1346
|
-
<code class="ruby"> extend ActiveSupport::Autoload</code>
|
|
1347
|
-
</li>
|
|
1348
|
-
|
|
1349
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
|
1350
|
-
<span class="hits">1</span>
|
|
1351
|
-
|
|
1352
|
-
<code class="ruby"> autoload :CachingDecorator</code>
|
|
1353
|
-
</li>
|
|
1354
|
-
|
|
1355
|
-
<li class="never" data-hits="" data-linenumber="5">
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
<code class="ruby"> end</code>
|
|
1359
|
-
</li>
|
|
1360
|
-
|
|
1361
|
-
<li class="never" data-hits="" data-linenumber="6">
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
<code class="ruby">end</code>
|
|
1365
|
-
</li>
|
|
1366
|
-
|
|
1367
|
-
</ol>
|
|
1368
|
-
</pre>
|
|
1369
|
-
</div>
|
|
1370
|
-
|
|
1371
|
-
<div class="source_table" id="be561bc262ecc80cc1a0243361455048314d923e">
|
|
1372
|
-
<div class="header">
|
|
1373
|
-
<h3>lib/api_resource/decorators/caching_decorator.rb</h3>
|
|
1374
|
-
<h4><span class="green">100.0 %</span> covered</h4>
|
|
1375
|
-
<div>
|
|
1376
|
-
<b>11</b> relevant lines.
|
|
1377
|
-
<span class="green"><b>11</b> lines covered</span> and
|
|
1378
|
-
<span class="red"><b>0</b> lines missed.</span>
|
|
1379
|
-
</div>
|
|
1380
|
-
</div>
|
|
1381
|
-
|
|
1382
|
-
<pre>
|
|
1383
|
-
<ol>
|
|
1384
|
-
|
|
1385
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
|
1386
|
-
<span class="hits">1</span>
|
|
1387
|
-
|
|
1388
|
-
<code class="ruby">module ApiResource</code>
|
|
1389
|
-
</li>
|
|
1390
|
-
|
|
1391
|
-
<li class="covered" data-hits="1" data-linenumber="2">
|
|
1392
|
-
<span class="hits">1</span>
|
|
1393
|
-
|
|
1394
|
-
<code class="ruby"> module Decorators</code>
|
|
1395
|
-
</li>
|
|
1396
|
-
|
|
1397
|
-
<li class="covered" data-hits="1" data-linenumber="3">
|
|
1398
|
-
<span class="hits">1</span>
|
|
1399
|
-
|
|
1400
|
-
<code class="ruby"> class CachingDecorator</code>
|
|
1401
|
-
</li>
|
|
1402
|
-
|
|
1403
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
|
1404
|
-
<span class="hits">1</span>
|
|
1405
|
-
|
|
1406
|
-
<code class="ruby"> attr_reader :owner</code>
|
|
1407
|
-
</li>
|
|
1408
|
-
|
|
1409
|
-
<li class="covered" data-hits="1" data-linenumber="5">
|
|
1410
|
-
<span class="hits">1</span>
|
|
1411
|
-
|
|
1412
|
-
<code class="ruby"> attr_reader :ttl</code>
|
|
1413
|
-
</li>
|
|
1414
|
-
|
|
1415
|
-
<li class="never" data-hits="" data-linenumber="6">
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
<code class="ruby"></code>
|
|
1419
|
-
</li>
|
|
1420
|
-
|
|
1421
|
-
<li class="covered" data-hits="1" data-linenumber="7">
|
|
1422
|
-
<span class="hits">1</span>
|
|
1423
|
-
|
|
1424
|
-
<code class="ruby"> def initialize(owner, ttl)</code>
|
|
1425
|
-
</li>
|
|
1426
|
-
|
|
1427
|
-
<li class="covered" data-hits="3" data-linenumber="8">
|
|
1428
|
-
<span class="hits">3</span>
|
|
1429
|
-
|
|
1430
|
-
<code class="ruby"> @owner = owner</code>
|
|
1431
|
-
</li>
|
|
1432
|
-
|
|
1433
|
-
<li class="covered" data-hits="3" data-linenumber="9">
|
|
1434
|
-
<span class="hits">3</span>
|
|
1435
|
-
|
|
1436
|
-
<code class="ruby"> @ttl = ttl</code>
|
|
1437
|
-
</li>
|
|
1438
|
-
|
|
1439
|
-
<li class="never" data-hits="" data-linenumber="10">
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
<code class="ruby"> end</code>
|
|
1443
|
-
</li>
|
|
1444
|
-
|
|
1445
|
-
<li class="never" data-hits="" data-linenumber="11">
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
<code class="ruby"></code>
|
|
1449
|
-
</li>
|
|
1450
|
-
|
|
1451
|
-
<li class="never" data-hits="" data-linenumber="12">
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
<code class="ruby"></code>
|
|
1455
|
-
</li>
|
|
1456
|
-
|
|
1457
|
-
<li class="covered" data-hits="1" data-linenumber="13">
|
|
1458
|
-
<span class="hits">1</span>
|
|
1459
|
-
|
|
1460
|
-
<code class="ruby"> def method_missing(method_name, *args, &block)</code>
|
|
1461
|
-
</li>
|
|
1462
|
-
|
|
1463
|
-
<li class="covered" data-hits="2" data-linenumber="14">
|
|
1464
|
-
<span class="hits">2</span>
|
|
1465
|
-
|
|
1466
|
-
<code class="ruby"> ApiResource.with_ttl(self.ttl) do</code>
|
|
1467
|
-
</li>
|
|
1468
|
-
|
|
1469
|
-
<li class="covered" data-hits="2" data-linenumber="15">
|
|
1470
|
-
<span class="hits">2</span>
|
|
1471
|
-
|
|
1472
|
-
<code class="ruby"> self.owner.send(method_name, *args, &block)</code>
|
|
1473
|
-
</li>
|
|
1474
|
-
|
|
1475
|
-
<li class="never" data-hits="" data-linenumber="16">
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
<code class="ruby"> end</code>
|
|
1479
|
-
</li>
|
|
1480
|
-
|
|
1481
|
-
<li class="never" data-hits="" data-linenumber="17">
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
<code class="ruby"> end</code>
|
|
1485
|
-
</li>
|
|
1486
|
-
|
|
1487
|
-
<li class="never" data-hits="" data-linenumber="18">
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
<code class="ruby"> end</code>
|
|
1491
|
-
</li>
|
|
1492
|
-
|
|
1493
|
-
<li class="never" data-hits="" data-linenumber="19">
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
<code class="ruby"> end</code>
|
|
1497
|
-
</li>
|
|
1498
|
-
|
|
1499
|
-
<li class="never" data-hits="" data-linenumber="20">
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
<code class="ruby">end</code>
|
|
1503
|
-
</li>
|
|
1504
|
-
|
|
1505
|
-
</ol>
|
|
1506
|
-
</pre>
|
|
1507
|
-
</div>
|
|
1508
|
-
|
|
1509
|
-
<div class="source_table" id="2f83e4896f2601097fcc684e900ce0e5b1d5a763">
|
|
1510
|
-
<div class="header">
|
|
1511
|
-
<h3>lib/api_resource/formats/xml_format.rb</h3>
|
|
1512
|
-
<h4><span class="red">66.67 %</span> covered</h4>
|
|
1513
|
-
<div>
|
|
1514
|
-
<b>18</b> relevant lines.
|
|
1515
|
-
<span class="green"><b>12</b> lines covered</span> and
|
|
1516
|
-
<span class="red"><b>6</b> lines missed.</span>
|
|
1517
|
-
</div>
|
|
1518
|
-
</div>
|
|
1519
|
-
|
|
1520
|
-
<pre>
|
|
1521
|
-
<ol>
|
|
1522
|
-
|
|
1523
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
|
1524
|
-
<span class="hits">1</span>
|
|
1525
|
-
|
|
1526
|
-
<code class="ruby">require 'active_support/core_ext/hash/conversions'</code>
|
|
1527
|
-
</li>
|
|
1528
|
-
|
|
1529
|
-
<li class="never" data-hits="" data-linenumber="2">
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
<code class="ruby"></code>
|
|
1533
|
-
</li>
|
|
1534
|
-
|
|
1535
|
-
<li class="covered" data-hits="1" data-linenumber="3">
|
|
1536
|
-
<span class="hits">1</span>
|
|
1537
|
-
|
|
1538
|
-
<code class="ruby">module ApiResource</code>
|
|
1539
|
-
</li>
|
|
1540
|
-
|
|
1541
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
|
1542
|
-
<span class="hits">1</span>
|
|
1543
|
-
|
|
1544
|
-
<code class="ruby"> module Formats</code>
|
|
1545
|
-
</li>
|
|
1546
|
-
|
|
1547
|
-
<li class="covered" data-hits="1" data-linenumber="5">
|
|
1548
|
-
<span class="hits">1</span>
|
|
1549
|
-
|
|
1550
|
-
<code class="ruby"> module XmlFormat</code>
|
|
1551
|
-
</li>
|
|
1552
|
-
|
|
1553
|
-
<li class="covered" data-hits="1" data-linenumber="6">
|
|
1554
|
-
<span class="hits">1</span>
|
|
1555
|
-
|
|
1556
|
-
<code class="ruby"> extend self</code>
|
|
1557
|
-
</li>
|
|
1558
|
-
|
|
1559
|
-
<li class="never" data-hits="" data-linenumber="7">
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
<code class="ruby"></code>
|
|
1563
|
-
</li>
|
|
1564
|
-
|
|
1565
|
-
<li class="covered" data-hits="1" data-linenumber="8">
|
|
1566
|
-
<span class="hits">1</span>
|
|
1567
|
-
|
|
1568
|
-
<code class="ruby"> def extension</code>
|
|
1569
|
-
</li>
|
|
1570
|
-
|
|
1571
|
-
<li class="covered" data-hits="1" data-linenumber="9">
|
|
1572
|
-
<span class="hits">1</span>
|
|
1573
|
-
|
|
1574
|
-
<code class="ruby"> "xml"</code>
|
|
1575
|
-
</li>
|
|
1576
|
-
|
|
1577
|
-
<li class="never" data-hits="" data-linenumber="10">
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
<code class="ruby"> end</code>
|
|
1581
|
-
</li>
|
|
1582
|
-
|
|
1583
|
-
<li class="never" data-hits="" data-linenumber="11">
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
<code class="ruby"></code>
|
|
1587
|
-
</li>
|
|
1588
|
-
|
|
1589
|
-
<li class="covered" data-hits="1" data-linenumber="12">
|
|
1590
|
-
<span class="hits">1</span>
|
|
1591
|
-
|
|
1592
|
-
<code class="ruby"> def mime_type</code>
|
|
1593
|
-
</li>
|
|
1594
|
-
|
|
1595
|
-
<li class="missed" data-hits="0" data-linenumber="13">
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
<code class="ruby"> "application/xml"</code>
|
|
1599
|
-
</li>
|
|
1600
|
-
|
|
1601
|
-
<li class="never" data-hits="" data-linenumber="14">
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
<code class="ruby"> end</code>
|
|
1605
|
-
</li>
|
|
1606
|
-
|
|
1607
|
-
<li class="never" data-hits="" data-linenumber="15">
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
<code class="ruby"></code>
|
|
1611
|
-
</li>
|
|
1612
|
-
|
|
1613
|
-
<li class="covered" data-hits="1" data-linenumber="16">
|
|
1614
|
-
<span class="hits">1</span>
|
|
1615
|
-
|
|
1616
|
-
<code class="ruby"> def encode(hash, options={})</code>
|
|
1617
|
-
</li>
|
|
1618
|
-
|
|
1619
|
-
<li class="missed" data-hits="0" data-linenumber="17">
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
<code class="ruby"> hash.to_xml(options)</code>
|
|
1623
|
-
</li>
|
|
1624
|
-
|
|
1625
|
-
<li class="never" data-hits="" data-linenumber="18">
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
<code class="ruby"> end</code>
|
|
1629
|
-
</li>
|
|
1630
|
-
|
|
1631
|
-
<li class="never" data-hits="" data-linenumber="19">
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
<code class="ruby"></code>
|
|
1635
|
-
</li>
|
|
1636
|
-
|
|
1637
|
-
<li class="covered" data-hits="1" data-linenumber="20">
|
|
1638
|
-
<span class="hits">1</span>
|
|
1639
|
-
|
|
1640
|
-
<code class="ruby"> def decode(xml)</code>
|
|
1641
|
-
</li>
|
|
1642
|
-
|
|
1643
|
-
<li class="missed" data-hits="0" data-linenumber="21">
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
<code class="ruby"> from_xml_data(Hash.from_xml(xml))</code>
|
|
1647
|
-
</li>
|
|
1648
|
-
|
|
1649
|
-
<li class="never" data-hits="" data-linenumber="22">
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
<code class="ruby"> end</code>
|
|
1653
|
-
</li>
|
|
1654
|
-
|
|
1655
|
-
<li class="never" data-hits="" data-linenumber="23">
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
<code class="ruby"></code>
|
|
1659
|
-
</li>
|
|
1660
|
-
|
|
1661
|
-
<li class="covered" data-hits="1" data-linenumber="24">
|
|
1662
|
-
<span class="hits">1</span>
|
|
1663
|
-
|
|
1664
|
-
<code class="ruby"> private</code>
|
|
1665
|
-
</li>
|
|
1666
|
-
|
|
1667
|
-
<li class="never" data-hits="" data-linenumber="25">
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
<code class="ruby"> # Manipulate from_xml Hash, because xml_simple is not exactly what we</code>
|
|
1671
|
-
</li>
|
|
1672
|
-
|
|
1673
|
-
<li class="never" data-hits="" data-linenumber="26">
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
<code class="ruby"> # want for Active Resource.</code>
|
|
1677
|
-
</li>
|
|
1678
|
-
|
|
1679
|
-
<li class="covered" data-hits="1" data-linenumber="27">
|
|
1680
|
-
<span class="hits">1</span>
|
|
1681
|
-
|
|
1682
|
-
<code class="ruby"> def from_xml_data(data)</code>
|
|
1683
|
-
</li>
|
|
1684
|
-
|
|
1685
|
-
<li class="missed" data-hits="0" data-linenumber="28">
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
<code class="ruby"> if data.is_a?(Hash) && data.keys.size == 1</code>
|
|
1689
|
-
</li>
|
|
1690
|
-
|
|
1691
|
-
<li class="missed" data-hits="0" data-linenumber="29">
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
<code class="ruby"> data.values.first</code>
|
|
1695
|
-
</li>
|
|
1696
|
-
|
|
1697
|
-
<li class="never" data-hits="" data-linenumber="30">
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
<code class="ruby"> else</code>
|
|
1701
|
-
</li>
|
|
1702
|
-
|
|
1703
|
-
<li class="missed" data-hits="0" data-linenumber="31">
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
<code class="ruby"> data</code>
|
|
1707
|
-
</li>
|
|
1708
|
-
|
|
1709
|
-
<li class="never" data-hits="" data-linenumber="32">
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
<code class="ruby"> end</code>
|
|
1713
|
-
</li>
|
|
1714
|
-
|
|
1715
|
-
<li class="never" data-hits="" data-linenumber="33">
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
<code class="ruby"> end</code>
|
|
1719
|
-
</li>
|
|
1720
|
-
|
|
1721
|
-
<li class="never" data-hits="" data-linenumber="34">
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
<code class="ruby"> end</code>
|
|
1725
|
-
</li>
|
|
1726
|
-
|
|
1727
|
-
<li class="never" data-hits="" data-linenumber="35">
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
<code class="ruby"> end</code>
|
|
1731
|
-
</li>
|
|
1732
|
-
|
|
1733
|
-
<li class="never" data-hits="" data-linenumber="36">
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
<code class="ruby">end</code>
|
|
1737
|
-
</li>
|
|
1738
|
-
|
|
1739
|
-
</ol>
|
|
1740
|
-
</pre>
|
|
1741
|
-
</div>
|
|
1742
|
-
|
|
1743
|
-
<div class="source_table" id="60f5d5efaac28ddb9fb45e06622238c80a28fded">
|
|
1744
|
-
<div class="header">
|
|
1745
|
-
<h3>lib/api_resource/local.rb</h3>
|
|
1746
|
-
<h4><span class="green">100.0 %</span> covered</h4>
|
|
1747
|
-
<div>
|
|
1748
|
-
<b>6</b> relevant lines.
|
|
1749
|
-
<span class="green"><b>6</b> lines covered</span> and
|
|
1750
|
-
<span class="red"><b>0</b> lines missed.</span>
|
|
1751
|
-
</div>
|
|
1752
|
-
</div>
|
|
1753
|
-
|
|
1754
|
-
<pre>
|
|
1755
|
-
<ol>
|
|
1756
|
-
|
|
1757
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
|
1758
|
-
<span class="hits">1</span>
|
|
1759
|
-
|
|
1760
|
-
<code class="ruby">module ApiResource</code>
|
|
1761
|
-
</li>
|
|
1762
|
-
|
|
1763
|
-
<li class="covered" data-hits="1" data-linenumber="2">
|
|
1764
|
-
<span class="hits">1</span>
|
|
1765
|
-
|
|
1766
|
-
<code class="ruby"> class Local < Base</code>
|
|
1767
|
-
</li>
|
|
1768
|
-
|
|
1769
|
-
<li class="never" data-hits="" data-linenumber="3">
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
<code class="ruby"> # nothing to do here</code>
|
|
1773
|
-
</li>
|
|
1774
|
-
|
|
1775
|
-
<li class="covered" data-hits="1" data-linenumber="4">
|
|
1776
|
-
<span class="hits">1</span>
|
|
1777
|
-
|
|
1778
|
-
<code class="ruby"> def self.set_class_attributes_upon_load</code>
|
|
1779
|
-
</li>
|
|
1780
|
-
|
|
1781
|
-
<li class="covered" data-hits="1" data-linenumber="5">
|
|
1782
|
-
<span class="hits">1</span>
|
|
1783
|
-
|
|
1784
|
-
<code class="ruby"> true</code>
|
|
1785
|
-
</li>
|
|
1786
|
-
|
|
1787
|
-
<li class="never" data-hits="" data-linenumber="6">
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
<code class="ruby"> end</code>
|
|
1791
|
-
</li>
|
|
1792
|
-
|
|
1793
|
-
<li class="never" data-hits="" data-linenumber="7">
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
<code class="ruby"> # shouldn't do anything here either - </code>
|
|
1797
|
-
</li>
|
|
1798
|
-
|
|
1799
|
-
<li class="covered" data-hits="1" data-linenumber="8">
|
|
1800
|
-
<span class="hits">1</span>
|
|
1801
|
-
|
|
1802
|
-
<code class="ruby"> def self.reload_resource_definition</code>
|
|
1803
|
-
</li>
|
|
1804
|
-
|
|
1805
|
-
<li class="covered" data-hits="1" data-linenumber="9">
|
|
1806
|
-
<span class="hits">1</span>
|
|
1807
|
-
|
|
1808
|
-
<code class="ruby"> true</code>
|
|
1809
|
-
</li>
|
|
1810
|
-
|
|
1811
|
-
<li class="never" data-hits="" data-linenumber="10">
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
<code class="ruby"> end</code>
|
|
1815
|
-
</li>
|
|
1816
|
-
|
|
1817
|
-
<li class="never" data-hits="" data-linenumber="11">
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
<code class="ruby"> end</code>
|
|
1821
|
-
</li>
|
|
1822
|
-
|
|
1823
|
-
<li class="never" data-hits="" data-linenumber="12">
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
<code class="ruby">end</code>
|
|
1827
|
-
</li>
|
|
1828
|
-
|
|
1829
|
-
</ol>
|
|
1830
|
-
</pre>
|
|
1831
|
-
</div>
|
|
1832
|
-
|
|
1833
|
-
<div class="source_table" id="e1424c288ff4d7b1028dfa6dec5e043302a0f243">
|
|
1834
|
-
<div class="header">
|
|
1835
|
-
<h3>lib/api_resource/mocks.rb</h3>
|
|
1836
|
-
<h4><span class="green">94.53 %</span> covered</h4>
|
|
1837
|
-
<div>
|
|
1838
|
-
<b>128</b> relevant lines.
|
|
1839
|
-
<span class="green"><b>121</b> lines covered</span> and
|
|
1840
|
-
<span class="red"><b>7</b> lines missed.</span>
|
|
1841
|
-
</div>
|
|
1842
|
-
</div>
|
|
1843
|
-
|
|
1844
|
-
<pre>
|
|
1845
|
-
<ol>
|
|
1846
|
-
|
|
1847
|
-
<li class="covered" data-hits="1" data-linenumber="1">
|
|
1848
|
-
<span class="hits">1</span>
|
|
1849
|
-
|
|
1850
|
-
<code class="ruby">require 'api_resource'</code>
|
|
1851
|
-
</li>
|
|
1852
|
-
|
|
1853
|
-
<li class="never" data-hits="" data-linenumber="2">
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
<code class="ruby"></code>
|
|
1857
|
-
</li>
|
|
1858
|
-
|
|
1859
|
-
<li class="covered" data-hits="1" data-linenumber="3">
|
|
1860
|
-
<span class="hits">1</span>
|
|
1861
|
-
|
|
1862
|
-
<code class="ruby">module ApiResource</code>
|
|
1863
|
-
</li>
|
|
1864
|
-
|
|
1865
|
-
<li class="never" data-hits="" data-linenumber="4">
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
<code class="ruby"> </code>
|
|
1869
|
-
</li>
|
|
1870
|
-
|
|
1871
|
-
<li class="covered" data-hits="1" data-linenumber="5">
|
|
1872
|
-
<span class="hits">1</span>
|
|
1873
|
-
|
|
1874
|
-
<code class="ruby"> module Mocks</code>
|
|
1875
|
-
</li>
|
|
1876
|
-
|
|
1877
|
-
<li class="never" data-hits="" data-linenumber="6">
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
<code class="ruby"> </code>
|
|
1881
|
-
</li>
|
|
1882
|
-
|
|
1883
|
-
<li class="covered" data-hits="1" data-linenumber="7">
|
|
1884
|
-
<span class="hits">1</span>
|
|
1885
|
-
|
|
1886
|
-
<code class="ruby"> @@endpoints = {}</code>
|
|
1887
|
-
</li>
|
|
1888
|
-
|
|
1889
|
-
<li class="covered" data-hits="1" data-linenumber="8">
|
|
1890
|
-
<span class="hits">1</span>
|
|
1891
|
-
|
|
1892
|
-
<code class="ruby"> @@path = nil</code>
|
|
1893
|
-
</li>
|
|
1894
|
-
|
|
1895
|
-
<li class="never" data-hits="" data-linenumber="9">
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
<code class="ruby"></code>
|
|
1899
|
-
</li>
|
|
1900
|
-
|
|
1901
|
-
<li class="never" data-hits="" data-linenumber="10">
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
<code class="ruby"> # A simple interface class to change the new connection to look like the </code>
|
|
1905
|
-
</li>
|
|
1906
|
-
|
|
1907
|
-
<li class="never" data-hits="" data-linenumber="11">
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
<code class="ruby"> # old activeresource connection</code>
|
|
1911
|
-
</li>
|
|
1912
|
-
|
|
1913
|
-
<li class="covered" data-hits="1" data-linenumber="12">
|
|
1914
|
-
<span class="hits">1</span>
|
|
1915
|
-
|
|
1916
|
-
<code class="ruby"> class Interface</code>
|
|
1917
|
-
</li>
|
|
1918
|
-
|
|
1919
|
-
<li class="never" data-hits="" data-linenumber="13">
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
<code class="ruby"> </code>
|
|
1923
|
-
</li>
|
|
1924
|
-
|
|
1925
|
-
<li class="covered" data-hits="1" data-linenumber="14">
|
|
1926
|
-
<span class="hits">1</span>
|
|
1927
|
-
|
|
1928
|
-
<code class="ruby"> def initialize(path)</code>
|
|
1929
|
-
</li>
|
|
1930
|
-
|
|
1931
|
-
<li class="covered" data-hits="218" data-linenumber="15">
|
|
1932
|
-
<span class="hits">218</span>
|
|
1933
|
-
|
|
1934
|
-
<code class="ruby"> @path = path</code>
|
|
1935
|
-
</li>
|
|
1936
|
-
|
|
1937
|
-
<li class="never" data-hits="" data-linenumber="16">
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
<code class="ruby"> end</code>
|
|
1941
|
-
</li>
|
|
1942
|
-
|
|
1943
|
-
<li class="never" data-hits="" data-linenumber="17">
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
<code class="ruby"> </code>
|
|
1947
|
-
</li>
|
|
1948
|
-
|
|
1949
|
-
<li class="covered" data-hits="1" data-linenumber="18">
|
|
1950
|
-
<span class="hits">1</span>
|
|
1951
|
-
|
|
1952
|
-
<code class="ruby"> def get(*args, &block)</code>
|
|
1953
|
-
</li>
|
|
1954
|
-
|
|
1955
|
-
<li class="covered" data-hits="205" data-linenumber="19">
|
|
1956
|
-
<span class="hits">205</span>
|
|
1957
|
-
|
|
1958
|
-
<code class="ruby"> Connection.send(:get, @path, *args, &block)</code>
|
|
1959
|
-
</li>
|
|
1960
|
-
|
|
1961
|
-
<li class="never" data-hits="" data-linenumber="20">
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
<code class="ruby"> end</code>
|
|
1965
|
-
</li>
|
|
1966
|
-
|
|
1967
|
-
<li class="covered" data-hits="1" data-linenumber="21">
|
|
1968
|
-
<span class="hits">1</span>
|
|
1969
|
-
|
|
1970
|
-
<code class="ruby"> def post(*args, &block)</code>
|
|
1971
|
-
</li>
|
|
1972
|
-
|
|
1973
|
-
<li class="covered" data-hits="5" data-linenumber="22">
|
|
1974
|
-
<span class="hits">5</span>
|
|
1975
|
-
|
|
1976
|
-
<code class="ruby"> Connection.send(:post, @path, *args, &block)</code>
|
|
1977
|
-
</li>
|
|
1978
|
-
|
|
1979
|
-
<li class="never" data-hits="" data-linenumber="23">
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
<code class="ruby"> end</code>
|
|
1983
|
-
</li>
|
|
1984
|
-
|
|
1985
|
-
<li class="covered" data-hits="1" data-linenumber="24">
|
|
1986
|
-
<span class="hits">1</span>
|
|
1987
|
-
|
|
1988
|
-
<code class="ruby"> def put(*args, &block)</code>
|
|
1989
|
-
</li>
|
|
1990
|
-
|
|
1991
|
-
<li class="covered" data-hits="2" data-linenumber="25">
|
|
1992
|
-
<span class="hits">2</span>
|
|
1993
|
-
|
|
1994
|
-
<code class="ruby"> Connection.send(:put, @path, *args, &block)</code>
|
|
1995
|
-
</li>
|
|
1996
|
-
|
|
1997
|
-
<li class="never" data-hits="" data-linenumber="26">
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
<code class="ruby"> end</code>
|
|
2001
|
-
</li>
|
|
2002
|
-
|
|
2003
|
-
<li class="covered" data-hits="1" data-linenumber="27">
|
|
2004
|
-
<span class="hits">1</span>
|
|
2005
|
-
|
|
2006
|
-
<code class="ruby"> def delete(*args, &block)</code>
|
|
2007
|
-
</li>
|
|
2008
|
-
|
|
2009
|
-
<li class="covered" data-hits="4" data-linenumber="28">
|
|
2010
|
-
<span class="hits">4</span>
|
|
2011
|
-
|
|
2012
|
-
<code class="ruby"> Connection.send(:delete, @path, *args, &block)</code>
|
|
2013
|
-
</li>
|
|
2014
|
-
|
|
2015
|
-
<li class="never" data-hits="" data-linenumber="29">
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
<code class="ruby"> end</code>
|
|
2019
|
-
</li>
|
|
2020
|
-
|
|
2021
|
-
<li class="covered" data-hits="1" data-linenumber="30">
|
|
2022
|
-
<span class="hits">1</span>
|
|
2023
|
-
|
|
2024
|
-
<code class="ruby"> def head(*args, &block)</code>
|
|
2025
|
-
</li>
|
|
2026
|
-
|
|
2027
|
-
<li class="covered" data-hits="1" data-linenumber="31">
|
|
2028
|
-
<span class="hits">1</span>
|
|
2029
|
-
|
|
2030
|
-
<code class="ruby"> Connection.send(:head, @path, *args, &block)</code>
|
|
2031
|
-
</li>
|
|
2032
|
-
|
|
2033
|
-
<li class="never" data-hits="" data-linenumber="32">
|
|
2034
|
-
|
|
2035
|
-
|
|
2036
|
-
<code class="ruby"> end</code>
|
|
2037
|
-
</li>
|
|
2038
|
-
|
|
2039
|
-
<li class="never" data-hits="" data-linenumber="33">
|
|
2040
|
-
|
|
2041
|
-
|
|
2042
|
-
<code class="ruby"> end</code>
|
|
2043
|
-
</li>
|
|
2044
|
-
|
|
2045
|
-
<li class="never" data-hits="" data-linenumber="34">
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
<code class="ruby"></code>
|
|
2049
|
-
</li>
|
|
2050
|
-
|
|
2051
|
-
<li class="never" data-hits="" data-linenumber="35">
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
<code class="ruby"> # set ApiResource's http </code>
|
|
2055
|
-
</li>
|
|
2056
|
-
|
|
2057
|
-
<li class="covered" data-hits="1" data-linenumber="36">
|
|
2058
|
-
<span class="hits">1</span>
|
|
2059
|
-
|
|
2060
|
-
<code class="ruby"> def self.init</code>
|
|
2061
|
-
</li>
|
|
2062
|
-
|
|
2063
|
-
<li class="covered" data-hits="2" data-linenumber="37">
|
|
2064
|
-
<span class="hits">2</span>
|
|
2065
|
-
|
|
2066
|
-
<code class="ruby"> ::ApiResource::Connection.class_eval do</code>
|
|
2067
|
-
</li>
|
|
2068
|
-
|
|
2069
|
-
<li class="covered" data-hits="2" data-linenumber="38">
|
|
2070
|
-
<span class="hits">2</span>
|
|
2071
|
-
|
|
2072
|
-
<code class="ruby"> private</code>
|
|
2073
|
-
</li>
|
|
2074
|
-
|
|
2075
|
-
<li class="covered" data-hits="2" data-linenumber="39">
|
|
2076
|
-
<span class="hits">2</span>
|
|
2077
|
-
|
|
2078
|
-
<code class="ruby"> alias_method :http_without_mock, :http</code>
|
|
2079
|
-
</li>
|
|
2080
|
-
|
|
2081
|
-
<li class="covered" data-hits="2" data-linenumber="40">
|
|
2082
|
-
<span class="hits">2</span>
|
|
2083
|
-
|
|
2084
|
-
<code class="ruby"> def http(path)</code>
|
|
2085
|
-
</li>
|
|
2086
|
-
|
|
2087
|
-
<li class="covered" data-hits="218" data-linenumber="41">
|
|
2088
|
-
<span class="hits">218</span>
|
|
2089
|
-
|
|
2090
|
-
<code class="ruby"> Interface.new(path)</code>
|
|
2091
|
-
</li>
|
|
2092
|
-
|
|
2093
|
-
<li class="never" data-hits="" data-linenumber="42">
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
<code class="ruby"> end</code>
|
|
2097
|
-
</li>
|
|
2098
|
-
|
|
2099
|
-
<li class="never" data-hits="" data-linenumber="43">
|
|
2100
|
-
|
|
2101
|
-
|
|
2102
|
-
<code class="ruby"> end</code>
|
|
2103
|
-
</li>
|
|
2104
|
-
|
|
2105
|
-
<li class="never" data-hits="" data-linenumber="44">
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
<code class="ruby"> end</code>
|
|
2109
|
-
</li>
|
|
2110
|
-
|
|
2111
|
-
<li class="never" data-hits="" data-linenumber="45">
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
<code class="ruby"> </code>
|
|
2115
|
-
</li>
|
|
2116
|
-
|
|
2117
|
-
<li class="never" data-hits="" data-linenumber="46">
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
<code class="ruby"> # set ApiResource's http </code>
|
|
2121
|
-
</li>
|
|
2122
|
-
|
|
2123
|
-
<li class="covered" data-hits="1" data-linenumber="47">
|
|
2124
|
-
<span class="hits">1</span>
|
|
2125
|
-
|
|
2126
|
-
<code class="ruby"> def self.remove</code>
|
|
2127
|
-
</li>
|
|
2128
|
-
|
|
2129
|
-
<li class="covered" data-hits="1" data-linenumber="48">
|
|
2130
|
-
<span class="hits">1</span>
|
|
2131
|
-
|
|
2132
|
-
<code class="ruby"> ::ApiResource::Connection.class_eval do</code>
|
|
2133
|
-
</li>
|
|
2134
|
-
|
|
2135
|
-
<li class="covered" data-hits="1" data-linenumber="49">
|
|
2136
|
-
<span class="hits">1</span>
|
|
2137
|
-
|
|
2138
|
-
<code class="ruby"> private</code>
|
|
2139
|
-
</li>
|
|
2140
|
-
|
|
2141
|
-
<li class="covered" data-hits="1" data-linenumber="50">
|
|
2142
|
-
<span class="hits">1</span>
|
|
2143
|
-
|
|
2144
|
-
<code class="ruby"> alias_method :http, :http_without_mock</code>
|
|
2145
|
-
</li>
|
|
2146
|
-
|
|
2147
|
-
<li class="never" data-hits="" data-linenumber="51">
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
<code class="ruby"> end</code>
|
|
2151
|
-
</li>
|
|
2152
|
-
|
|
2153
|
-
<li class="never" data-hits="" data-linenumber="52">
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
<code class="ruby"> end</code>
|
|
2157
|
-
</li>
|
|
2158
|
-
|
|
2159
|
-
<li class="never" data-hits="" data-linenumber="53">
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
<code class="ruby"></code>
|
|
2163
|
-
</li>
|
|
2164
|
-
|
|
2165
|
-
<li class="never" data-hits="" data-linenumber="54">
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
<code class="ruby"> # clear out the defined mocks</code>
|
|
2169
|
-
</li>
|
|
2170
|
-
|
|
2171
|
-
<li class="covered" data-hits="1" data-linenumber="55">
|
|
2172
|
-
<span class="hits">1</span>
|
|
2173
|
-
|
|
2174
|
-
<code class="ruby"> def self.clear_endpoints</code>
|
|
2175
|
-
</li>
|
|
2176
|
-
|
|
2177
|
-
<li class="covered" data-hits="1" data-linenumber="56">
|
|
2178
|
-
<span class="hits">1</span>
|
|
2179
|
-
|
|
2180
|
-
<code class="ruby"> ret = @@endpoints</code>
|
|
2181
|
-
</li>
|
|
2182
|
-
|
|
2183
|
-
<li class="covered" data-hits="1" data-linenumber="57">
|
|
2184
|
-
<span class="hits">1</span>
|
|
2185
|
-
|
|
2186
|
-
<code class="ruby"> @@endpoints = {}</code>
|
|
2187
|
-
</li>
|
|
2188
|
-
|
|
2189
|
-
<li class="covered" data-hits="1" data-linenumber="58">
|
|
2190
|
-
<span class="hits">1</span>
|
|
2191
|
-
|
|
2192
|
-
<code class="ruby"> ret</code>
|
|
2193
|
-
</li>
|
|
2194
|
-
|
|
2195
|
-
<li class="never" data-hits="" data-linenumber="59">
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
<code class="ruby"> end</code>
|
|
2199
|
-
</li>
|
|
2200
|
-
|
|
2201
|
-
<li class="never" data-hits="" data-linenumber="60">
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
<code class="ruby"> # re-set the endpoints</code>
|
|
2205
|
-
</li>
|
|
2206
|
-
|
|
2207
|
-
<li class="covered" data-hits="1" data-linenumber="61">
|
|
2208
|
-
<span class="hits">1</span>
|
|
2209
|
-
|
|
2210
|
-
<code class="ruby"> def self.set_endpoints(new_endpoints)</code>
|
|
2211
|
-
</li>
|
|
2212
|
-
|
|
2213
|
-
<li class="missed" data-hits="0" data-linenumber="62">
|
|
2214
|
-
|
|
2215
|
-
|
|
2216
|
-
<code class="ruby"> @@endpoints = new_endpoints</code>
|
|
2217
|
-
</li>
|
|
2218
|
-
|
|
2219
|
-
<li class="never" data-hits="" data-linenumber="63">
|
|
2220
|
-
|
|
2221
|
-
|
|
2222
|
-
<code class="ruby"> end</code>
|
|
2223
|
-
</li>
|
|
2224
|
-
|
|
2225
|
-
<li class="never" data-hits="" data-linenumber="64">
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
<code class="ruby"> # return the defined endpoints</code>
|
|
2229
|
-
</li>
|
|
2230
|
-
|
|
2231
|
-
<li class="covered" data-hits="1" data-linenumber="65">
|
|
2232
|
-
<span class="hits">1</span>
|
|
2233
|
-
|
|
2234
|
-
<code class="ruby"> def self.endpoints</code>
|
|
2235
|
-
</li>
|
|
2236
|
-
|
|
2237
|
-
<li class="missed" data-hits="0" data-linenumber="66">
|
|
2238
|
-
|
|
2239
|
-
|
|
2240
|
-
<code class="ruby"> @@endpoints</code>
|
|
2241
|
-
</li>
|
|
2242
|
-
|
|
2243
|
-
<li class="never" data-hits="" data-linenumber="67">
|
|
2244
|
-
|
|
2245
|
-
|
|
2246
|
-
<code class="ruby"> end</code>
|
|
2247
|
-
</li>
|
|
2248
|
-
|
|
2249
|
-
<li class="covered" data-hits="1" data-linenumber="68">
|
|
2250
|
-
<span class="hits">1</span>
|
|
2251
|
-
|
|
2252
|
-
<code class="ruby"> def self.define(&block)</code>
|
|
2253
|
-
</li>
|
|
2254
|
-
|
|
2255
|
-
<li class="covered" data-hits="4" data-linenumber="69">
|
|
2256
|
-
<span class="hits">4</span>
|
|
2257
|
-
|
|
2258
|
-
<code class="ruby"> instance_eval(&block) if block_given?</code>
|
|
2259
|
-
</li>
|
|
2260
|
-
|
|
2261
|
-
<li class="never" data-hits="" data-linenumber="70">
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
<code class="ruby"> end</code>
|
|
2265
|
-
</li>
|
|
2266
|
-
|
|
2267
|
-
<li class="never" data-hits="" data-linenumber="71">
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
<code class="ruby"> # define an endpoint for the mock</code>
|
|
2271
|
-
</li>
|
|
2272
|
-
|
|
2273
|
-
<li class="covered" data-hits="1" data-linenumber="72">
|
|
2274
|
-
<span class="hits">1</span>
|
|
2275
|
-
|
|
2276
|
-
<code class="ruby"> def self.endpoint(path, &block)</code>
|
|
2277
|
-
</li>
|
|
2278
|
-
|
|
2279
|
-
<li class="covered" data-hits="23" data-linenumber="73">
|
|
2280
|
-
<span class="hits">23</span>
|
|
2281
|
-
|
|
2282
|
-
<code class="ruby"> path, format = path.split(".")</code>
|
|
2283
|
-
</li>
|
|
2284
|
-
|
|
2285
|
-
<li class="covered" data-hits="23" data-linenumber="74">
|
|
2286
|
-
<span class="hits">23</span>
|
|
2287
|
-
|
|
2288
|
-
<code class="ruby"> @@endpoints[path] ||= []</code>
|
|
2289
|
-
</li>
|
|
2290
|
-
|
|
2291
|
-
<li class="covered" data-hits="23" data-linenumber="75">
|
|
2292
|
-
<span class="hits">23</span>
|
|
2293
|
-
|
|
2294
|
-
<code class="ruby"> with_path_and_format(path, format) do</code>
|
|
2295
|
-
</li>
|
|
2296
|
-
|
|
2297
|
-
<li class="covered" data-hits="23" data-linenumber="76">
|
|
2298
|
-
<span class="hits">23</span>
|
|
2299
|
-
|
|
2300
|
-
<code class="ruby"> instance_eval(&block) if block_given?</code>
|
|
2301
|
-
</li>
|
|
2302
|
-
|
|
2303
|
-
<li class="never" data-hits="" data-linenumber="77">
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
<code class="ruby"> end</code>
|
|
2307
|
-
</li>
|
|
2308
|
-
|
|
2309
|
-
<li class="never" data-hits="" data-linenumber="78">
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
<code class="ruby"> end</code>
|
|
2313
|
-
</li>
|
|
2314
|
-
|
|
2315
|
-
<li class="never" data-hits="" data-linenumber="79">
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
<code class="ruby"> # find a matching response</code>
|
|
2319
|
-
</li>
|
|
2320
|
-
|
|
2321
|
-
<li class="covered" data-hits="1" data-linenumber="80">
|
|
2322
|
-
<span class="hits">1</span>
|
|
2323
|
-
|
|
2324
|
-
<code class="ruby"> def self.find_response(request)</code>
|
|
2325
|
-
</li>
|
|
2326
|
-
|
|
2327
|
-
<li class="never" data-hits="" data-linenumber="81">
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
<code class="ruby"> # these are stored as [[Request, Response], [Request, Response]]</code>
|
|
2331
|
-
</li>
|
|
2332
|
-
|
|
2333
|
-
<li class="covered" data-hits="211" data-linenumber="82">
|
|
2334
|
-
<span class="hits">211</span>
|
|
2335
|
-
|
|
2336
|
-
<code class="ruby"> responses_and_params = self.responses_for_path(request.path)</code>
|
|
2337
|
-
</li>
|
|
2338
|
-
|
|
2339
|
-
<li class="covered" data-hits="512" data-linenumber="83">
|
|
2340
|
-
<span class="hits">512</span>
|
|
2341
|
-
|
|
2342
|
-
<code class="ruby"> ret = (responses_and_params[:responses] || []).select{|pair| pair.first.match?(request)}</code>
|
|
2343
|
-
</li>
|
|
2344
|
-
|
|
2345
|
-
<li class="covered" data-hits="211" data-linenumber="84">
|
|
2346
|
-
<span class="hits">211</span>
|
|
2347
|
-
|
|
2348
|
-
<code class="ruby"> raise Exception.new("More than one response matches #{request}") if ret.length > 1</code>
|
|
2349
|
-
</li>
|
|
2350
|
-
|
|
2351
|
-
<li class="covered" data-hits="211" data-linenumber="85">
|
|
2352
|
-
<span class="hits">211</span>
|
|
2353
|
-
|
|
2354
|
-
<code class="ruby"> return ret.first ? {:response => ret.first[1], :params => responses_and_params[:params]} : nil</code>
|
|
2355
|
-
</li>
|
|
2356
|
-
|
|
2357
|
-
<li class="never" data-hits="" data-linenumber="86">
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
<code class="ruby"> end</code>
|
|
2361
|
-
</li>
|
|
2362
|
-
|
|
2363
|
-
<li class="never" data-hits="" data-linenumber="87">
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
<code class="ruby"></code>
|
|
2367
|
-
</li>
|
|
2368
|
-
|
|
2369
|
-
<li class="covered" data-hits="1" data-linenumber="88">
|
|
2370
|
-
<span class="hits">1</span>
|
|
2371
|
-
|
|
2372
|
-
<code class="ruby"> def self.paths_match?(known_path, entered_path)</code>
|
|
2373
|
-
</li>
|
|
2374
|
-
|
|
2375
|
-
<li class="covered" data-hits="356" data-linenumber="89">
|
|
2376
|
-
<span class="hits">356</span>
|
|
2377
|
-
|
|
2378
|
-
<code class="ruby"> PathString.paths_match?(known_path, entered_path)</code>
|
|
2379
|
-
</li>
|
|
2380
|
-
|
|
2381
|
-
<li class="never" data-hits="" data-linenumber="90">
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
<code class="ruby"> end</code>
|
|
2385
|
-
</li>
|
|
2386
|
-
|
|
2387
|
-
<li class="never" data-hits="" data-linenumber="91">
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
<code class="ruby"></code>
|
|
2391
|
-
</li>
|
|
2392
|
-
|
|
2393
|
-
<li class="never" data-hits="" data-linenumber="92">
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
<code class="ruby"> # This method assumes that the two are matching paths</code>
|
|
2397
|
-
</li>
|
|
2398
|
-
|
|
2399
|
-
<li class="never" data-hits="" data-linenumber="93">
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
<code class="ruby"> # if they aren't the behavior is undefined</code>
|
|
2403
|
-
</li>
|
|
2404
|
-
|
|
2405
|
-
<li class="covered" data-hits="1" data-linenumber="94">
|
|
2406
|
-
<span class="hits">1</span>
|
|
2407
|
-
|
|
2408
|
-
<code class="ruby"> def self.extract_params(known_path, entered_path)</code>
|
|
2409
|
-
</li>
|
|
2410
|
-
|
|
2411
|
-
<li class="covered" data-hits="13" data-linenumber="95">
|
|
2412
|
-
<span class="hits">13</span>
|
|
2413
|
-
|
|
2414
|
-
<code class="ruby"> PathString.extract_params(known_path, entered_path)</code>
|
|
2415
|
-
</li>
|
|
2416
|
-
|
|
2417
|
-
<li class="never" data-hits="" data-linenumber="96">
|
|
2418
|
-
|
|
2419
|
-
|
|
2420
|
-
<code class="ruby"> end</code>
|
|
2421
|
-
</li>
|
|
2422
|
-
|
|
2423
|
-
<li class="never" data-hits="" data-linenumber="97">
|
|
2424
|
-
|
|
2425
|
-
|
|
2426
|
-
<code class="ruby"></code>
|
|
2427
|
-
</li>
|
|
2428
|
-
|
|
2429
|
-
<li class="never" data-hits="" data-linenumber="98">
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
<code class="ruby"> # returns a hash {:responses => [[Request, Response],[Request,Response]], :params => {...}}</code>
|
|
2433
|
-
</li>
|
|
2434
|
-
|
|
2435
|
-
<li class="never" data-hits="" data-linenumber="99">
|
|
2436
|
-
|
|
2437
|
-
|
|
2438
|
-
<code class="ruby"> # if there is no match returns nil</code>
|
|
2439
|
-
</li>
|
|
2440
|
-
|
|
2441
|
-
<li class="covered" data-hits="1" data-linenumber="100">
|
|
2442
|
-
<span class="hits">1</span>
|
|
2443
|
-
|
|
2444
|
-
<code class="ruby"> def self.responses_for_path(path)</code>
|
|
2445
|
-
</li>
|
|
2446
|
-
|
|
2447
|
-
<li class="covered" data-hits="214" data-linenumber="101">
|
|
2448
|
-
<span class="hits">214</span>
|
|
2449
|
-
|
|
2450
|
-
<code class="ruby"> path = path.split("?").first</code>
|
|
2451
|
-
</li>
|
|
2452
|
-
|
|
2453
|
-
<li class="covered" data-hits="214" data-linenumber="102">
|
|
2454
|
-
<span class="hits">214</span>
|
|
2455
|
-
|
|
2456
|
-
<code class="ruby"> path = path.split(/\./).first</code>
|
|
2457
|
-
</li>
|
|
2458
|
-
|
|
2459
|
-
<li class="never" data-hits="" data-linenumber="103">
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
<code class="ruby"> # The obvious case</code>
|
|
2463
|
-
</li>
|
|
2464
|
-
|
|
2465
|
-
<li class="covered" data-hits="214" data-linenumber="104">
|
|
2466
|
-
<span class="hits">214</span>
|
|
2467
|
-
|
|
2468
|
-
<code class="ruby"> if @@endpoints[path]</code>
|
|
2469
|
-
</li>
|
|
2470
|
-
|
|
2471
|
-
<li class="covered" data-hits="195" data-linenumber="105">
|
|
2472
|
-
<span class="hits">195</span>
|
|
2473
|
-
|
|
2474
|
-
<code class="ruby"> return {:responses => @@endpoints[path], :params => {}}</code>
|
|
2475
|
-
</li>
|
|
2476
|
-
|
|
2477
|
-
<li class="never" data-hits="" data-linenumber="106">
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
<code class="ruby"> end</code>
|
|
2481
|
-
</li>
|
|
2482
|
-
|
|
2483
|
-
<li class="never" data-hits="" data-linenumber="107">
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
<code class="ruby"> # parameter names prefixed with colons should match parts</code>
|
|
2487
|
-
</li>
|
|
2488
|
-
|
|
2489
|
-
<li class="never" data-hits="" data-linenumber="108">
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
<code class="ruby"> # of the path and push those parameters into the response</code>
|
|
2493
|
-
</li>
|
|
2494
|
-
|
|
2495
|
-
<li class="covered" data-hits="19" data-linenumber="109">
|
|
2496
|
-
<span class="hits">19</span>
|
|
2497
|
-
|
|
2498
|
-
<code class="ruby"> @@endpoints.keys.each do |possible_path|</code>
|
|
2499
|
-
</li>
|
|
2500
|
-
|
|
2501
|
-
<li class="covered" data-hits="356" data-linenumber="110">
|
|
2502
|
-
<span class="hits">356</span>
|
|
2503
|
-
|
|
2504
|
-
<code class="ruby"> if self.paths_match?(possible_path, path)</code>
|
|
2505
|
-
</li>
|
|
2506
|
-
|
|
2507
|
-
<li class="covered" data-hits="13" data-linenumber="111">
|
|
2508
|
-
<span class="hits">13</span>
|
|
2509
|
-
|
|
2510
|
-
<code class="ruby"> return {:responses => @@endpoints[possible_path], :params => self.extract_params(possible_path, path)}</code>
|
|
2511
|
-
</li>
|
|
2512
|
-
|
|
2513
|
-
<li class="never" data-hits="" data-linenumber="112">
|
|
2514
|
-
|
|
2515
|
-
|
|
2516
|
-
<code class="ruby"> end</code>
|
|
2517
|
-
</li>
|
|
2518
|
-
|
|
2519
|
-
<li class="never" data-hits="" data-linenumber="113">
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
<code class="ruby"> end</code>
|
|
2523
|
-
</li>
|
|
2524
|
-
|
|
2525
|
-
<li class="never" data-hits="" data-linenumber="114">
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
<code class="ruby"></code>
|
|
2529
|
-
</li>
|
|
2530
|
-
|
|
2531
|
-
<li class="covered" data-hits="6" data-linenumber="115">
|
|
2532
|
-
<span class="hits">6</span>
|
|
2533
|
-
|
|
2534
|
-
<code class="ruby"> return {:responses => nil, :params => nil}</code>
|
|
2535
|
-
</li>
|
|
2536
|
-
|
|
2537
|
-
<li class="never" data-hits="" data-linenumber="116">
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
<code class="ruby"> end</code>
|
|
2541
|
-
</li>
|
|
2542
|
-
|
|
2543
|
-
<li class="never" data-hits="" data-linenumber="117">
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
<code class="ruby"> </code>
|
|
2547
|
-
</li>
|
|
2548
|
-
|
|
2549
|
-
<li class="never" data-hits="" data-linenumber="118">
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
<code class="ruby"></code>
|
|
2553
|
-
</li>
|
|
2554
|
-
|
|
2555
|
-
<li class="covered" data-hits="1" data-linenumber="119">
|
|
2556
|
-
<span class="hits">1</span>
|
|
2557
|
-
|
|
2558
|
-
<code class="ruby"> private</code>
|
|
2559
|
-
</li>
|
|
2560
|
-
|
|
2561
|
-
<li class="covered" data-hits="1" data-linenumber="120">
|
|
2562
|
-
<span class="hits">1</span>
|
|
2563
|
-
|
|
2564
|
-
<code class="ruby"> def self.with_path_and_format(path, format, &block)</code>
|
|
2565
|
-
</li>
|
|
2566
|
-
|
|
2567
|
-
<li class="covered" data-hits="23" data-linenumber="121">
|
|
2568
|
-
<span class="hits">23</span>
|
|
2569
|
-
|
|
2570
|
-
<code class="ruby"> @@path, @@format = path, format</code>
|
|
2571
|
-
</li>
|
|
2572
|
-
|
|
2573
|
-
<li class="covered" data-hits="23" data-linenumber="122">
|
|
2574
|
-
<span class="hits">23</span>
|
|
2575
|
-
|
|
2576
|
-
<code class="ruby"> ret = yield</code>
|
|
2577
|
-
</li>
|
|
2578
|
-
|
|
2579
|
-
<li class="covered" data-hits="23" data-linenumber="123">
|
|
2580
|
-
<span class="hits">23</span>
|
|
2581
|
-
|
|
2582
|
-
<code class="ruby"> @@path, @@format = nil, nil</code>
|
|
2583
|
-
</li>
|
|
2584
|
-
|
|
2585
|
-
<li class="covered" data-hits="23" data-linenumber="124">
|
|
2586
|
-
<span class="hits">23</span>
|
|
2587
|
-
|
|
2588
|
-
<code class="ruby"> ret</code>
|
|
2589
|
-
</li>
|
|
2590
|
-
|
|
2591
|
-
<li class="never" data-hits="" data-linenumber="125">
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
<code class="ruby"> end</code>
|
|
2595
|
-
</li>
|
|
2596
|
-
|
|
2597
|
-
<li class="never" data-hits="" data-linenumber="126">
|
|
2598
|
-
|
|
2599
|
-
|
|
2600
|
-
<code class="ruby"> # define the </code>
|
|
2601
|
-
</li>
|
|
2602
|
-
|
|
2603
|
-
<li class="covered" data-hits="1" data-linenumber="127">
|
|
2604
|
-
<span class="hits">1</span>
|
|
2605
|
-
|
|
2606
|
-
<code class="ruby"> [:post, :put, :get, :delete, :head].each do |verb|</code>
|
|
2607
|
-
</li>
|
|
2608
|
-
|
|
2609
|
-
<li class="covered" data-hits="5" data-linenumber="128">
|
|
2610
|
-
<span class="hits">5</span>
|
|
2611
|
-
|
|
2612
|
-
<code class="ruby"> instance_eval <<-EOE, __FILE__, __LINE__ + 1</code>
|
|
2613
|
-
</li>
|
|
2614
|
-
|
|
2615
|
-
<li class="never" data-hits="" data-linenumber="129">
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
<code class="ruby"> def #{verb}(response_body, opts = {}, &block)</code>
|
|
2619
|
-
</li>
|
|
2620
|
-
|
|
2621
|
-
<li class="never" data-hits="" data-linenumber="130">
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
<code class="ruby"></code>
|
|
2625
|
-
</li>
|
|
2626
|
-
|
|
2627
|
-
<li class="never" data-hits="" data-linenumber="131">
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
<code class="ruby"> raise Exception.new("Must be called from within an endpoint block") unless @@path</code>
|
|
2631
|
-
</li>
|
|
2632
|
-
|
|
2633
|
-
<li class="never" data-hits="" data-linenumber="132">
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
<code class="ruby"> opts = opts.reverse_merge({:status_code => 200, :response_headers => {}, :params => {}}) </code>
|
|
2637
|
-
</li>
|
|
2638
|
-
|
|
2639
|
-
<li class="never" data-hits="" data-linenumber="133">
|
|
2640
|
-
|
|
2641
|
-
|
|
2642
|
-
<code class="ruby"></code>
|
|
2643
|
-
</li>
|
|
2644
|
-
|
|
2645
|
-
<li class="never" data-hits="" data-linenumber="134">
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
<code class="ruby"> @@endpoints[@@path] << [MockRequest.new(:#{verb}, @@path, :params => opts[:params], :format => @@format), MockResponse.new(response_body, :status_code => opts[:status_code], :headers => opts[:response_headers], :format => @@format, &block)]</code>
|
|
2649
|
-
</li>
|
|
2650
|
-
|
|
2651
|
-
<li class="never" data-hits="" data-linenumber="135">
|
|
2652
|
-
|
|
2653
|
-
|
|
2654
|
-
<code class="ruby"> end</code>
|
|
2655
|
-
</li>
|
|
2656
|
-
|
|
2657
|
-
<li class="never" data-hits="" data-linenumber="136">
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
<code class="ruby"> EOE</code>
|
|
2661
|
-
</li>
|
|
2662
|
-
|
|
2663
|
-
<li class="never" data-hits="" data-linenumber="137">
|
|
2664
|
-
|
|
2665
|
-
|
|
2666
|
-
<code class="ruby"> end</code>
|
|
2667
|
-
</li>
|
|
2668
|
-
|
|
2669
|
-
<li class="never" data-hits="" data-linenumber="138">
|
|
2670
|
-
|
|
2671
|
-
|
|
2672
|
-
<code class="ruby"></code>
|
|
2673
|
-
</li>
|
|
2674
|
-
|
|
2675
|
-
<li class="covered" data-hits="1" data-linenumber="139">
|
|
2676
|
-
<span class="hits">1</span>
|
|
2677
|
-
|
|
2678
|
-
<code class="ruby"> class MockResponse</code>
|
|
2679
|
-
</li>
|
|
2680
|
-
|
|
2681
|
-
<li class="covered" data-hits="1" data-linenumber="140">
|
|
2682
|
-
<span class="hits">1</span>
|
|
2683
|
-
|
|
2684
|
-
<code class="ruby"> attr_reader :body, :headers, :code, :format, :block</code>
|
|
2685
|
-
</li>
|
|
2686
|
-
|
|
2687
|
-
<li class="covered" data-hits="1" data-linenumber="141">
|
|
2688
|
-
<span class="hits">1</span>
|
|
2689
|
-
|
|
2690
|
-
<code class="ruby"> def initialize(body, opts = {}, &block) </code>
|
|
2691
|
-
</li>
|
|
2692
|
-
|
|
2693
|
-
<li class="covered" data-hits="44" data-linenumber="142">
|
|
2694
|
-
<span class="hits">44</span>
|
|
2695
|
-
|
|
2696
|
-
<code class="ruby"> opts = opts.reverse_merge({:headers => {}, :status_code => 200})</code>
|
|
2697
|
-
</li>
|
|
2698
|
-
|
|
2699
|
-
<li class="covered" data-hits="44" data-linenumber="143">
|
|
2700
|
-
<span class="hits">44</span>
|
|
2701
|
-
|
|
2702
|
-
<code class="ruby"> @body = body</code>
|
|
2703
|
-
</li>
|
|
2704
|
-
|
|
2705
|
-
<li class="covered" data-hits="44" data-linenumber="144">
|
|
2706
|
-
<span class="hits">44</span>
|
|
2707
|
-
|
|
2708
|
-
<code class="ruby"> @headers = opts[:headers]</code>
|
|
2709
|
-
</li>
|
|
2710
|
-
|
|
2711
|
-
<li class="covered" data-hits="44" data-linenumber="145">
|
|
2712
|
-
<span class="hits">44</span>
|
|
2713
|
-
|
|
2714
|
-
<code class="ruby"> @code = opts[:status_code]</code>
|
|
2715
|
-
</li>
|
|
2716
|
-
|
|
2717
|
-
<li class="covered" data-hits="44" data-linenumber="146">
|
|
2718
|
-
<span class="hits">44</span>
|
|
2719
|
-
|
|
2720
|
-
<code class="ruby"> @format = (opts[:format] || :json)</code>
|
|
2721
|
-
</li>
|
|
2722
|
-
|
|
2723
|
-
<li class="covered" data-hits="44" data-linenumber="147">
|
|
2724
|
-
<span class="hits">44</span>
|
|
2725
|
-
|
|
2726
|
-
<code class="ruby"> @block = block if block_given?</code>
|
|
2727
|
-
</li>
|
|
2728
|
-
|
|
2729
|
-
<li class="never" data-hits="" data-linenumber="148">
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
<code class="ruby"> end</code>
|
|
2733
|
-
</li>
|
|
2734
|
-
|
|
2735
|
-
<li class="covered" data-hits="1" data-linenumber="149">
|
|
2736
|
-
<span class="hits">1</span>
|
|
2737
|
-
|
|
2738
|
-
<code class="ruby"> def []=(key, val)</code>
|
|
2739
|
-
</li>
|
|
2740
|
-
|
|
2741
|
-
<li class="missed" data-hits="0" data-linenumber="150">
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
<code class="ruby"> @headers[key] = val</code>
|
|
2745
|
-
</li>
|
|
2746
|
-
|
|
2747
|
-
<li class="never" data-hits="" data-linenumber="151">
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
<code class="ruby"> end</code>
|
|
2751
|
-
</li>
|
|
2752
|
-
|
|
2753
|
-
<li class="covered" data-hits="1" data-linenumber="152">
|
|
2754
|
-
<span class="hits">1</span>
|
|
2755
|
-
|
|
2756
|
-
<code class="ruby"> def [](key)</code>
|
|
2757
|
-
</li>
|
|
2758
|
-
|
|
2759
|
-
<li class="missed" data-hits="0" data-linenumber="153">
|
|
2760
|
-
|
|
2761
|
-
|
|
2762
|
-
<code class="ruby"> @headers[key]</code>
|
|
2763
|
-
</li>
|
|
2764
|
-
|
|
2765
|
-
<li class="never" data-hits="" data-linenumber="154">
|
|
2766
|
-
|
|
2767
|
-
|
|
2768
|
-
<code class="ruby"> end</code>
|
|
2769
|
-
</li>
|
|
2770
|
-
|
|
2771
|
-
<li class="never" data-hits="" data-linenumber="155">
|
|
2772
|
-
|
|
2773
|
-
|
|
2774
|
-
<code class="ruby"></code>
|
|
2775
|
-
</li>
|
|
2776
|
-
|
|
2777
|
-
<li class="covered" data-hits="1" data-linenumber="156">
|
|
2778
|
-
<span class="hits">1</span>
|
|
2779
|
-
|
|
2780
|
-
<code class="ruby"> def body</code>
|
|
2781
|
-
</li>
|
|
2782
|
-
|
|
2783
|
-
<li class="covered" data-hits="220" data-linenumber="157">
|
|
2784
|
-
<span class="hits">220</span>
|
|
2785
|
-
|
|
2786
|
-
<code class="ruby"> raise Exception.new("Body must respond to to_#{self.format}") unless @body.respond_to?("to_#{self.format}")</code>
|
|
2787
|
-
</li>
|
|
2788
|
-
|
|
2789
|
-
<li class="covered" data-hits="220" data-linenumber="158">
|
|
2790
|
-
<span class="hits">220</span>
|
|
2791
|
-
|
|
2792
|
-
<code class="ruby"> @body.send("to_#{self.format}")</code>
|
|
2793
|
-
</li>
|
|
2794
|
-
|
|
2795
|
-
<li class="never" data-hits="" data-linenumber="159">
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
<code class="ruby"> end</code>
|
|
2799
|
-
</li>
|
|
2800
|
-
|
|
2801
|
-
<li class="never" data-hits="" data-linenumber="160">
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
<code class="ruby"></code>
|
|
2805
|
-
</li>
|
|
2806
|
-
|
|
2807
|
-
<li class="covered" data-hits="1" data-linenumber="161">
|
|
2808
|
-
<span class="hits">1</span>
|
|
2809
|
-
|
|
2810
|
-
<code class="ruby"> def body_as_object</code>
|
|
2811
|
-
</li>
|
|
2812
|
-
|
|
2813
|
-
<li class="missed" data-hits="0" data-linenumber="162">
|
|
2814
|
-
|
|
2815
|
-
|
|
2816
|
-
<code class="ruby"> return @body</code>
|
|
2817
|
-
</li>
|
|
2818
|
-
|
|
2819
|
-
<li class="never" data-hits="" data-linenumber="163">
|
|
2820
|
-
|
|
2821
|
-
|
|
2822
|
-
<code class="ruby"> end</code>
|
|
2823
|
-
</li>
|
|
2824
|
-
|
|
2825
|
-
<li class="never" data-hits="" data-linenumber="164">
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
<code class="ruby"></code>
|
|
2829
|
-
</li>
|
|
2830
|
-
|
|
2831
|
-
<li class="covered" data-hits="1" data-linenumber="165">
|
|
2832
|
-
<span class="hits">1</span>
|
|
2833
|
-
|
|
2834
|
-
<code class="ruby"> def generate_response(params)</code>
|
|
2835
|
-
</li>
|
|
2836
|
-
|
|
2837
|
-
<li class="covered" data-hits="208" data-linenumber="166">
|
|
2838
|
-
<span class="hits">208</span>
|
|
2839
|
-
|
|
2840
|
-
<code class="ruby"> @body = @body.instance_exec(params, &self.block) if self.block</code>
|
|
2841
|
-
</li>
|
|
2842
|
-
|
|
2843
|
-
<li class="never" data-hits="" data-linenumber="167">
|
|
2844
|
-
|
|
2845
|
-
|
|
2846
|
-
<code class="ruby"> end</code>
|
|
2847
|
-
</li>
|
|
2848
|
-
|
|
2849
|
-
<li class="never" data-hits="" data-linenumber="168">
|
|
2850
|
-
|
|
2851
|
-
|
|
2852
|
-
<code class="ruby"> end</code>
|
|
2853
|
-
</li>
|
|
2854
|
-
|
|
2855
|
-
<li class="never" data-hits="" data-linenumber="169">
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
<code class="ruby"></code>
|
|
2859
|
-
</li>
|
|
2860
|
-
|
|
2861
|
-
<li class="covered" data-hits="1" data-linenumber="170">
|
|
2862
|
-
<span class="hits">1</span>
|
|
2863
|
-
|
|
2864
|
-
<code class="ruby"> class MockRequest</code>
|
|
2865
|
-
</li>
|
|
2866
|
-
|
|
2867
|
-
<li class="covered" data-hits="1" data-linenumber="171">
|
|
2868
|
-
<span class="hits">1</span>
|
|
2869
|
-
|
|
2870
|
-
<code class="ruby"> attr_reader :method, :path, :body, :headers, :params, :format, :query</code>
|
|
2871
|
-
</li>
|
|
2872
|
-
|
|
2873
|
-
<li class="never" data-hits="" data-linenumber="172">
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
<code class="ruby"></code>
|
|
2877
|
-
</li>
|
|
2878
|
-
|
|
2879
|
-
<li class="covered" data-hits="1" data-linenumber="173">
|
|
2880
|
-
<span class="hits">1</span>
|
|
2881
|
-
|
|
2882
|
-
<code class="ruby"> def initialize(method, path, opts = {})</code>
|
|
2883
|
-
</li>
|
|
2884
|
-
|
|
2885
|
-
<li class="covered" data-hits="248" data-linenumber="174">
|
|
2886
|
-
<span class="hits">248</span>
|
|
2887
|
-
|
|
2888
|
-
<code class="ruby"> @method = method.to_sym</code>
|
|
2889
|
-
</li>
|
|
2890
|
-
|
|
2891
|
-
<li class="never" data-hits="" data-linenumber="175">
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
<code class="ruby"></code>
|
|
2895
|
-
</li>
|
|
2896
|
-
|
|
2897
|
-
<li class="never" data-hits="" data-linenumber="176">
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
<code class="ruby"> # set the normalized path, format and query string</code>
|
|
2901
|
-
</li>
|
|
2902
|
-
|
|
2903
|
-
<li class="covered" data-hits="248" data-linenumber="177">
|
|
2904
|
-
<span class="hits">248</span>
|
|
2905
|
-
|
|
2906
|
-
<code class="ruby"> @path, @query = path.split("?")</code>
|
|
2907
|
-
</li>
|
|
2908
|
-
|
|
2909
|
-
<li class="covered" data-hits="248" data-linenumber="178">
|
|
2910
|
-
<span class="hits">248</span>
|
|
2911
|
-
|
|
2912
|
-
<code class="ruby"> @path, @format = @path.split(".")</code>
|
|
2913
|
-
</li>
|
|
2914
|
-
|
|
2915
|
-
<li class="never" data-hits="" data-linenumber="179">
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
<code class="ruby"></code>
|
|
2919
|
-
</li>
|
|
2920
|
-
|
|
2921
|
-
<li class="never" data-hits="" data-linenumber="180">
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
<code class="ruby"> # if we have params, it is a MockRequest definition</code>
|
|
2925
|
-
</li>
|
|
2926
|
-
|
|
2927
|
-
<li class="covered" data-hits="248" data-linenumber="181">
|
|
2928
|
-
<span class="hits">248</span>
|
|
2929
|
-
|
|
2930
|
-
<code class="ruby"> if opts[:params]</code>
|
|
2931
|
-
</li>
|
|
2932
|
-
|
|
2933
|
-
<li class="covered" data-hits="34" data-linenumber="182">
|
|
2934
|
-
<span class="hits">34</span>
|
|
2935
|
-
|
|
2936
|
-
<code class="ruby"> @params = opts[:params]</code>
|
|
2937
|
-
</li>
|
|
2938
|
-
|
|
2939
|
-
<li class="never" data-hits="" data-linenumber="183">
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
<code class="ruby"> # otherwise, we need to check either the query string or the body</code>
|
|
2943
|
-
</li>
|
|
2944
|
-
|
|
2945
|
-
<li class="never" data-hits="" data-linenumber="184">
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
<code class="ruby"> # depending on the http verb</code>
|
|
2949
|
-
</li>
|
|
2950
|
-
|
|
2951
|
-
<li class="never" data-hits="" data-linenumber="185">
|
|
2952
|
-
|
|
2953
|
-
|
|
2954
|
-
<code class="ruby"> else</code>
|
|
2955
|
-
</li>
|
|
2956
|
-
|
|
2957
|
-
<li class="covered" data-hits="214" data-linenumber="186">
|
|
2958
|
-
<span class="hits">214</span>
|
|
2959
|
-
|
|
2960
|
-
<code class="ruby"> case @method</code>
|
|
2961
|
-
</li>
|
|
2962
|
-
|
|
2963
|
-
<li class="never" data-hits="" data-linenumber="187">
|
|
2964
|
-
|
|
2965
|
-
|
|
2966
|
-
<code class="ruby"> when :post, :put</code>
|
|
2967
|
-
</li>
|
|
2968
|
-
|
|
2969
|
-
<li class="covered" data-hits="5" data-linenumber="188">
|
|
2970
|
-
<span class="hits">5</span>
|
|
2971
|
-
|
|
2972
|
-
<code class="ruby"> @params = JSON.parse(opts[:body] || "")</code>
|
|
2973
|
-
</li>
|
|
2974
|
-
|
|
2975
|
-
<li class="never" data-hits="" data-linenumber="189">
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
<code class="ruby"> when :get, :delete, :head</code>
|
|
2979
|
-
</li>
|
|
2980
|
-
|
|
2981
|
-
<li class="covered" data-hits="209" data-linenumber="190">
|
|
2982
|
-
<span class="hits">209</span>
|
|
2983
|
-
|
|
2984
|
-
<code class="ruby"> @params = typecast_values(</code>
|
|
2985
|
-
</li>
|
|
2986
|
-
|
|
2987
|
-
<li class="never" data-hits="" data-linenumber="191">
|
|
2988
|
-
|
|
2989
|
-
|
|
2990
|
-
<code class="ruby"> Rack::Utils.parse_nested_query(@query || "")</code>
|
|
2991
|
-
</li>
|
|
2992
|
-
|
|
2993
|
-
<li class="never" data-hits="" data-linenumber="192">
|
|
2994
|
-
|
|
2995
|
-
|
|
2996
|
-
<code class="ruby"> )</code>
|
|
2997
|
-
</li>
|
|
2998
|
-
|
|
2999
|
-
<li class="never" data-hits="" data-linenumber="193">
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
<code class="ruby"> end</code>
|
|
3003
|
-
</li>
|
|
3004
|
-
|
|
3005
|
-
<li class="never" data-hits="" data-linenumber="194">
|
|
3006
|
-
|
|
3007
|
-
|
|
3008
|
-
<code class="ruby"> end</code>
|
|
3009
|
-
</li>
|
|
3010
|
-
|
|
3011
|
-
<li class="covered" data-hits="248" data-linenumber="195">
|
|
3012
|
-
<span class="hits">248</span>
|
|
3013
|
-
|
|
3014
|
-
<code class="ruby"> @body = opts[:body]</code>
|
|
3015
|
-
</li>
|
|
3016
|
-
|
|
3017
|
-
<li class="covered" data-hits="248" data-linenumber="196">
|
|
3018
|
-
<span class="hits">248</span>
|
|
3019
|
-
|
|
3020
|
-
<code class="ruby"> @headers = opts[:headers] || {}</code>
|
|
3021
|
-
</li>
|
|
3022
|
-
|
|
3023
|
-
<li class="covered" data-hits="248" data-linenumber="197">
|
|
3024
|
-
<span class="hits">248</span>
|
|
3025
|
-
|
|
3026
|
-
<code class="ruby"> @headers["Content-Length"] = @body.blank? ? "0" : @body.size.to_s</code>
|
|
3027
|
-
</li>
|
|
3028
|
-
|
|
3029
|
-
<li class="never" data-hits="" data-linenumber="198">
|
|
3030
|
-
|
|
3031
|
-
|
|
3032
|
-
<code class="ruby"> end</code>
|
|
3033
|
-
</li>
|
|
3034
|
-
|
|
3035
|
-
<li class="never" data-hits="" data-linenumber="199">
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
<code class="ruby"></code>
|
|
3039
|
-
</li>
|
|
3040
|
-
|
|
3041
|
-
<li class="never" data-hits="" data-linenumber="200">
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
<code class="ruby"> # </code>
|
|
3045
|
-
</li>
|
|
3046
|
-
|
|
3047
|
-
<li class="covered" data-hits="1" data-linenumber="201">
|
|
3048
|
-
<span class="hits">1</span>
|
|
3049
|
-
|
|
3050
|
-
<code class="ruby"> def typecast_values(data)</code>
|
|
3051
|
-
</li>
|
|
3052
|
-
|
|
3053
|
-
<li class="covered" data-hits="229" data-linenumber="202">
|
|
3054
|
-
<span class="hits">229</span>
|
|
3055
|
-
|
|
3056
|
-
<code class="ruby"> if data.is_a?(Hash)</code>
|
|
3057
|
-
</li>
|
|
3058
|
-
|
|
3059
|
-
<li class="covered" data-hits="211" data-linenumber="203">
|
|
3060
|
-
<span class="hits">211</span>
|
|
3061
|
-
|
|
3062
|
-
<code class="ruby"> data.each_pair do |k,v|</code>
|
|
3063
|
-
</li>
|
|
3064
|
-
|
|
3065
|
-
<li class="covered" data-hits="18" data-linenumber="204">
|
|
3066
|
-
<span class="hits">18</span>
|
|
3067
|
-
|
|
3068
|
-
<code class="ruby"> data[k] = typecast_values(v)</code>
|
|
3069
|
-
</li>
|
|
3070
|
-
|
|
3071
|
-
<li class="never" data-hits="" data-linenumber="205">
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
<code class="ruby"> end</code>
|
|
3075
|
-
</li>
|
|
3076
|
-
|
|
3077
|
-
<li class="never" data-hits="" data-linenumber="206">
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
<code class="ruby"> elsif data.is_a?(Array)</code>
|
|
3081
|
-
</li>
|
|
3082
|
-
|
|
3083
|
-
<li class="covered" data-hits="1" data-linenumber="207">
|
|
3084
|
-
<span class="hits">1</span>
|
|
3085
|
-
|
|
3086
|
-
<code class="ruby"> data = data.collect{|v|</code>
|
|
3087
|
-
</li>
|
|
3088
|
-
|
|
3089
|
-
<li class="covered" data-hits="2" data-linenumber="208">
|
|
3090
|
-
<span class="hits">2</span>
|
|
3091
|
-
|
|
3092
|
-
<code class="ruby"> typecast_values(v)</code>
|
|
3093
|
-
</li>
|
|
3094
|
-
|
|
3095
|
-
<li class="never" data-hits="" data-linenumber="209">
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
<code class="ruby"> }</code>
|
|
3099
|
-
</li>
|
|
3100
|
-
|
|
3101
|
-
<li class="never" data-hits="" data-linenumber="210">
|
|
3102
|
-
|
|
3103
|
-
|
|
3104
|
-
<code class="ruby"> else</code>
|
|
3105
|
-
</li>
|
|
3106
|
-
|
|
3107
|
-
<li class="covered" data-hits="17" data-linenumber="211">
|
|
3108
|
-
<span class="hits">17</span>
|
|
3109
|
-
|
|
3110
|
-
<code class="ruby"> data = if data.to_s =~ /^\d+$/</code>
|
|
3111
|
-
</li>
|
|
3112
|
-
|
|
3113
|
-
<li class="missed" data-hits="0" data-linenumber="212">
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
<code class="ruby"> data.to_i</code>
|
|
3117
|
-
</li>
|
|
3118
|
-
|
|
3119
|
-
<li class="never" data-hits="" data-linenumber="213">
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
<code class="ruby"> elsif data =~ /^[\d\.]+$/</code>
|
|
3123
|
-
</li>
|
|
3124
|
-
|
|
3125
|
-
<li class="missed" data-hits="0" data-linenumber="214">
|
|
3126
|
-
|
|
3127
|
-
|
|
3128
|
-
<code class="ruby"> data.to_f</code>
|
|
3129
|
-
</li>
|
|
3130
|
-
|
|
3131
|
-
<li class="never" data-hits="" data-linenumber="215">
|
|
3132
|
-
|
|
3133
|
-
|
|
3134
|
-
<code class="ruby"> elsif data == "true"</code>
|
|
3135
|
-
</li>
|
|
3136
|
-
|
|
3137
|
-
<li class="covered" data-hits="11" data-linenumber="216">
|
|
3138
|
-
<span class="hits">11</span>
|
|
3139
|
-
|
|
3140
|
-
<code class="ruby"> true</code>
|
|
3141
|
-
</li>
|
|
3142
|
-
|
|
3143
|
-
<li class="never" data-hits="" data-linenumber="217">
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
<code class="ruby"> elsif data == "false"</code>
|
|
3147
|
-
</li>
|
|
3148
|
-
|
|
3149
|
-
<li class="covered" data-hits="1" data-linenumber="218">
|
|
3150
|
-
<span class="hits">1</span>
|
|
3151
|
-
|
|
3152
|
-
<code class="ruby"> false</code>
|
|
3153
|
-
</li>
|
|
3154
|
-
|
|
3155
|
-
<li class="never" data-hits="" data-linenumber="219">
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
<code class="ruby"> else</code>
|
|
3159
|
-
</li>
|
|
3160
|
-
|
|
3161
|
-
<li class="covered" data-hits="5" data-linenumber="220">
|
|
3162
|
-
<span class="hits">5</span>
|
|
3163
|
-
|
|
3164
|
-
<code class="ruby"> data</code>
|
|
3165
|
-
</li>
|
|
3166
|
-
|
|
3167
|
-
<li class="never" data-hits="" data-linenumber="221">
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
<code class="ruby"> end</code>
|
|
3171
|
-
</li>
|
|
3172
|
-
|
|
3173
|
-
<li class="never" data-hits="" data-linenumber="222">
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
<code class="ruby"> end</code>
|
|
3177
|
-
</li>
|
|
3178
|
-
|
|
3179
|
-
<li class="covered" data-hits="229" data-linenumber="223">
|
|
3180
|
-
<span class="hits">229</span>
|
|
3181
|
-
|
|
3182
|
-
<code class="ruby"> data.nil? ? "" : data</code>
|
|
3183
|
-
</li>
|
|
3184
|
-
|
|
3185
|
-
<li class="never" data-hits="" data-linenumber="224">
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
<code class="ruby"> end</code>
|
|
3189
|
-
</li>
|
|
3190
|
-
|
|
3191
|
-
<li class="never" data-hits="" data-linenumber="225">
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
<code class="ruby"></code>
|
|
3195
|
-
</li>
|
|
3196
|
-
|
|
3197
|
-
<li class="never" data-hits="" data-linenumber="226">
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
<code class="ruby"> # because of the context these come from, we can assume that the path already matches</code>
|
|
3201
|
-
</li>
|
|
3202
|
-
|
|
3203
|
-
<li class="covered" data-hits="1" data-linenumber="227">
|
|
3204
|
-
<span class="hits">1</span>
|
|
3205
|
-
|
|
3206
|
-
<code class="ruby"> def match?(request)</code>
|
|
3207
|
-
</li>
|
|
3208
|
-
|
|
3209
|
-
<li class="covered" data-hits="301" data-linenumber="228">
|
|
3210
|
-
<span class="hits">301</span>
|
|
3211
|
-
|
|
3212
|
-
<code class="ruby"> return false unless self.method == request.method</code>
|
|
3213
|
-
</li>
|
|
3214
|
-
|
|
3215
|
-
<li class="covered" data-hits="263" data-linenumber="229">
|
|
3216
|
-
<span class="hits">263</span>
|
|
3217
|
-
|
|
3218
|
-
<code class="ruby"> return false unless self.format == request.format || request.format.nil? || self.format.nil?</code>
|
|
3219
|
-
</li>
|
|
3220
|
-
|
|
3221
|
-
<li class="covered" data-hits="263" data-linenumber="230">
|
|
3222
|
-
<span class="hits">263</span>
|
|
3223
|
-
|
|
3224
|
-
<code class="ruby"> Comparator.diff(self.params, request.params) == {}</code>
|
|
3225
|
-
</li>
|
|
3226
|
-
|
|
3227
|
-
<li class="never" data-hits="" data-linenumber="231">
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
<code class="ruby"> end</code>
|
|
3231
|
-
</li>
|
|
3232
|
-
|
|
3233
|
-
<li class="never" data-hits="" data-linenumber="232">
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
<code class="ruby"> # string representation</code>
|
|
3237
|
-
</li>
|
|
3238
|
-
|
|
3239
|
-
<li class="covered" data-hits="1" data-linenumber="233">
|
|
3240
|
-
<span class="hits">1</span>
|
|
3241
|
-
|
|
3242
|
-
<code class="ruby"> def to_s</code>
|
|
3243
|
-
</li>
|
|
3244
|
-
|
|
3245
|
-
<li class="covered" data-hits="3" data-linenumber="234">
|
|
3246
|
-
<span class="hits">3</span>
|
|
3247
|
-
|
|
3248
|
-
<code class="ruby"> "#{self.method.upcase} #{self.format} #{self.path} #{self.params}"</code>
|
|
3249
|
-
</li>
|
|
3250
|
-
|
|
3251
|
-
<li class="never" data-hits="" data-linenumber="235">
|
|
3252
|
-
|
|
3253
|
-
|
|
3254
|
-
<code class="ruby"> end</code>
|
|
3255
|
-
</li>
|
|
3256
|
-
|
|
3257
|
-
<li class="never" data-hits="" data-linenumber="236">
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
<code class="ruby"> end</code>
|
|
3261
|
-
</li>
|
|
3262
|
-
|
|
3263
|
-
<li class="covered" data-hits="1" data-linenumber="237">
|
|
3264
|
-
<span class="hits">1</span>
|
|
3265
|
-
|
|
3266
|
-
<code class="ruby"> class Connection</code>
|
|
3267
|
-
</li>
|
|
3268
|
-
|
|
3269
|
-
<li class="never" data-hits="" data-linenumber="238">
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
<code class="ruby"></code>
|
|
3273
|
-
</li>
|
|
3274
|
-
|
|
3275
|
-
<li class="covered" data-hits="1" data-linenumber="239">
|
|
3276
|
-
<span class="hits">1</span>
|
|
3277
|
-
|
|
3278
|
-
<code class="ruby"> cattr_accessor :requests</code>
|
|
3279
|
-
</li>
|
|
3280
|
-
|
|
3281
|
-
<li class="covered" data-hits="1" data-linenumber="240">
|
|
3282
|
-
<span class="hits">1</span>
|
|
3283
|
-
|
|
3284
|
-
<code class="ruby"> self.requests = []</code>
|
|
3285
|
-
</li>
|
|
3286
|
-
|
|
3287
|
-
<li class="never" data-hits="" data-linenumber="241">
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
<code class="ruby"></code>
|
|
3291
|
-
</li>
|
|
3292
|
-
|
|
3293
|
-
<li class="never" data-hits="" data-linenumber="242">
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
<code class="ruby"> # body? methods</code>
|
|
3297
|
-
</li>
|
|
3298
|
-
|
|
3299
|
-
<li class="never" data-hits="" data-linenumber="243">
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
<code class="ruby"> { true => %w(post put),</code>
|
|
3303
|
-
</li>
|
|
3304
|
-
|
|
3305
|
-
<li class="covered" data-hits="1" data-linenumber="244">
|
|
3306
|
-
<span class="hits">1</span>
|
|
3307
|
-
|
|
3308
|
-
<code class="ruby"> false => %w(get delete head) }.each do |has_body, methods|</code>
|
|
3309
|
-
</li>
|
|
3310
|
-
|
|
3311
|
-
<li class="covered" data-hits="2" data-linenumber="245">
|
|
3312
|
-
<span class="hits">2</span>
|
|
3313
|
-
|
|
3314
|
-
<code class="ruby"> methods.each do |method|</code>
|
|
3315
|
-
</li>
|
|
3316
|
-
|
|
3317
|
-
<li class="never" data-hits="" data-linenumber="246">
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
<code class="ruby"> # def post(path, body, headers)</code>
|
|
3321
|
-
</li>
|
|
3322
|
-
|
|
3323
|
-
<li class="never" data-hits="" data-linenumber="247">
|
|
3324
|
-
|
|
3325
|
-
|
|
3326
|
-
<code class="ruby"> # request = ApiResource::Request.new(:post, path, body, headers)</code>
|
|
3327
|
-
</li>
|
|
3328
|
-
|
|
3329
|
-
<li class="never" data-hits="" data-linenumber="248">
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
<code class="ruby"> # self.class.requests << request</code>
|
|
3333
|
-
</li>
|
|
3334
|
-
|
|
3335
|
-
<li class="never" data-hits="" data-linenumber="249">
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
<code class="ruby"> # if response = LifebookerClient::Mocks.find_response(request)</code>
|
|
3339
|
-
</li>
|
|
3340
|
-
|
|
3341
|
-
<li class="never" data-hits="" data-linenumber="250">
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
<code class="ruby"> # response</code>
|
|
3345
|
-
</li>
|
|
3346
|
-
|
|
3347
|
-
<li class="never" data-hits="" data-linenumber="251">
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
<code class="ruby"> # else</code>
|
|
3351
|
-
</li>
|
|
3352
|
-
|
|
3353
|
-
<li class="never" data-hits="" data-linenumber="252">
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
<code class="ruby"> # raise InvalidRequestError.new("Could not find a response </code>
|
|
3357
|
-
</li>
|
|
3358
|
-
|
|
3359
|
-
<li class="never" data-hits="" data-linenumber="253">
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
<code class="ruby"> # recorded for #{request.to_s} - Responses recorded are: -</code>
|
|
3363
|
-
</li>
|
|
3364
|
-
|
|
3365
|
-
<li class="never" data-hits="" data-linenumber="254">
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
<code class="ruby"> # #{inspect_responses}")</code>
|
|
3369
|
-
</li>
|
|
3370
|
-
|
|
3371
|
-
<li class="never" data-hits="" data-linenumber="255">
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
<code class="ruby"> # end</code>
|
|
3375
|
-
</li>
|
|
3376
|
-
|
|
3377
|
-
<li class="never" data-hits="" data-linenumber="256">
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
<code class="ruby"> # end</code>
|
|
3381
|
-
</li>
|
|
3382
|
-
|
|
3383
|
-
<li class="covered" data-hits="5" data-linenumber="257">
|
|
3384
|
-
<span class="hits">5</span>
|
|
3385
|
-
|
|
3386
|
-
<code class="ruby"> instance_eval <<-EOE, __FILE__, __LINE__ + 1</code>
|
|
3387
|
-
</li>
|
|
3388
|
-
|
|
3389
|
-
<li class="never" data-hits="" data-linenumber="258">
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
<code class="ruby"> def #{method}(path, #{'body, ' if has_body}headers)</code>
|
|
3393
|
-
</li>
|
|
3394
|
-
|
|
3395
|
-
<li class="never" data-hits="" data-linenumber="259">
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
<code class="ruby"> opts = {:headers => headers}</code>
|
|
3399
|
-
</li>
|
|
3400
|
-
|
|
3401
|
-
<li class="never" data-hits="" data-linenumber="260">
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
<code class="ruby"> #{"opts[:body] = body" if has_body}</code>
|
|
3405
|
-
</li>
|
|
3406
|
-
|
|
3407
|
-
<li class="never" data-hits="" data-linenumber="261">
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
<code class="ruby"> request = MockRequest.new(:#{method}, path, opts)</code>
|
|
3411
|
-
</li>
|
|
3412
|
-
|
|
3413
|
-
<li class="never" data-hits="" data-linenumber="262">
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
<code class="ruby"> self.requests << request</code>
|
|
3417
|
-
</li>
|
|
3418
|
-
|
|
3419
|
-
<li class="never" data-hits="" data-linenumber="263">
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
<code class="ruby"> if response = Mocks.find_response(request)</code>
|
|
3423
|
-
</li>
|
|
3424
|
-
|
|
3425
|
-
<li class="never" data-hits="" data-linenumber="264">
|
|
3426
|
-
|
|
3427
|
-
|
|
3428
|
-
<code class="ruby"> response[:response].tap{|resp| </code>
|
|
3429
|
-
</li>
|
|
3430
|
-
|
|
3431
|
-
<li class="never" data-hits="" data-linenumber="265">
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
<code class="ruby"> resp.generate_response(</code>
|
|
3435
|
-
</li>
|
|
3436
|
-
|
|
3437
|
-
<li class="never" data-hits="" data-linenumber="266">
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
<code class="ruby"> request.params</code>
|
|
3441
|
-
</li>
|
|
3442
|
-
|
|
3443
|
-
<li class="never" data-hits="" data-linenumber="267">
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
<code class="ruby"> .with_indifferent_access</code>
|
|
3447
|
-
</li>
|
|
3448
|
-
|
|
3449
|
-
<li class="never" data-hits="" data-linenumber="268">
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
<code class="ruby"> .merge(response[:params].with_indifferent_access)</code>
|
|
3453
|
-
</li>
|
|
3454
|
-
|
|
3455
|
-
<li class="never" data-hits="" data-linenumber="269">
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
<code class="ruby"> )</code>
|
|
3459
|
-
</li>
|
|
3460
|
-
|
|
3461
|
-
<li class="never" data-hits="" data-linenumber="270">
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
<code class="ruby"> }</code>
|
|
3465
|
-
</li>
|
|
3466
|
-
|
|
3467
|
-
<li class="never" data-hits="" data-linenumber="271">
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
<code class="ruby"> else</code>
|
|
3471
|
-
</li>
|
|
3472
|
-
|
|
3473
|
-
<li class="never" data-hits="" data-linenumber="272">
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
<code class="ruby"> raise ApiResource::ResourceNotFound.new(</code>
|
|
3477
|
-
</li>
|
|
3478
|
-
|
|
3479
|
-
<li class="never" data-hits="" data-linenumber="273">
|
|
3480
|
-
|
|
3481
|
-
|
|
3482
|
-
<code class="ruby"> MockResponse.new({}, {:headers => {"Content-type" => "application/json"}, :status_code => 404}),</code>
|
|
3483
|
-
</li>
|
|
3484
|
-
|
|
3485
|
-
<li class="never" data-hits="" data-linenumber="274">
|
|
3486
|
-
|
|
3487
|
-
|
|
3488
|
-
<code class="ruby"> :message => "\nCould not find a response recorded for \#{request.pretty_inspect}\n" +</code>
|
|
3489
|
-
</li>
|
|
3490
|
-
|
|
3491
|
-
<li class="never" data-hits="" data-linenumber="275">
|
|
3492
|
-
|
|
3493
|
-
|
|
3494
|
-
<code class="ruby"> "Potential Responses Are:\n" +</code>
|
|
3495
|
-
</li>
|
|
3496
|
-
|
|
3497
|
-
<li class="never" data-hits="" data-linenumber="276">
|
|
3498
|
-
|
|
3499
|
-
|
|
3500
|
-
<code class="ruby"> "\#{Array.wrap(Mocks.responses_for_path(request.path)[:responses]).collect(&:first).pretty_inspect}"</code>
|
|
3501
|
-
</li>
|
|
3502
|
-
|
|
3503
|
-
<li class="never" data-hits="" data-linenumber="277">
|
|
3504
|
-
|
|
3505
|
-
|
|
3506
|
-
<code class="ruby"> )</code>
|
|
3507
|
-
</li>
|
|
3508
|
-
|
|
3509
|
-
<li class="never" data-hits="" data-linenumber="278">
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
<code class="ruby"> end</code>
|
|
3513
|
-
</li>
|
|
3514
|
-
|
|
3515
|
-
<li class="never" data-hits="" data-linenumber="279">
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
<code class="ruby"> end</code>
|
|
3519
|
-
</li>
|
|
3520
|
-
|
|
3521
|
-
<li class="never" data-hits="" data-linenumber="280">
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
<code class="ruby"> EOE</code>
|
|
3525
|
-
</li>
|
|
3526
|
-
|
|
3527
|
-
<li class="never" data-hits="" data-linenumber="281">
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
<code class="ruby"> end</code>
|
|
3531
|
-
</li>
|
|
3532
|
-
|
|
3533
|
-
<li class="never" data-hits="" data-linenumber="282">
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
<code class="ruby"> end</code>
|
|
3537
|
-
</li>
|
|
3538
|
-
|
|
3539
|
-
<li class="never" data-hits="" data-linenumber="283">
|
|
3540
|
-
|
|
3541
|
-
|
|
3542
|
-
<code class="ruby"> end</code>
|
|
3543
|
-
</li>
|
|
3544
|
-
|
|
3545
|
-
<li class="never" data-hits="" data-linenumber="284">
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
<code class="ruby"> end</code>
|
|
3549
|
-
</li>
|
|
3550
|
-
|
|
3551
|
-
<li class="never" data-hits="" data-linenumber="285">
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
<code class="ruby">end</code>
|
|
3555
|
-
</li>
|
|
3556
|
-
|
|
3557
|
-
</ol>
|
|
3558
|
-
</pre>
|
|
3559
|
-
</div>
|
|
3560
|
-
|
|
3561
|
-
</div>
|
|
3562
|
-
</div>
|
|
3563
|
-
</body>
|
|
3564
|
-
</html>
|