stub_requests 0.1.1 → 0.1.2

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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +5 -2
  3. data/.reek.yml +1 -0
  4. data/.rubocop.yml +33 -35
  5. data/.simplecov +14 -8
  6. data/.yardopts +1 -1
  7. data/CHANGELOG.md +4 -1
  8. data/README.md +19 -11
  9. data/Rakefile +1 -3
  10. data/bin/update_docs.sh +16 -0
  11. data/gemfiles/webmock_2.3.gemfile.lock +1 -1
  12. data/gemfiles/webmock_3.5.gemfile.lock +1 -1
  13. data/gemfiles/webmock_develop.gemfile.lock +1 -1
  14. data/lib/rspec/subject_as_lambda.rb +138 -0
  15. data/lib/stub_requests/api.rb +42 -8
  16. data/lib/stub_requests/argument_validation.rb +17 -6
  17. data/lib/stub_requests/configuration.rb +21 -0
  18. data/lib/stub_requests/core_ext/all.rb +4 -0
  19. data/lib/stub_requests/core_ext/array/extract_options.rb +32 -0
  20. data/lib/stub_requests/core_ext/class/attribute.rb +61 -0
  21. data/lib/stub_requests/core_ext/kernel/singleton_class.rb +12 -0
  22. data/lib/stub_requests/core_ext/module/redefine_method.rb +44 -0
  23. data/lib/stub_requests/core_ext/object/blank.rb +99 -155
  24. data/lib/stub_requests/endpoint.rb +28 -30
  25. data/lib/stub_requests/endpoint_registry.rb +18 -16
  26. data/lib/stub_requests/exceptions.rb +84 -0
  27. data/lib/stub_requests/hash_util.rb +2 -0
  28. data/lib/stub_requests/metrics/endpoint_stat.rb +97 -0
  29. data/lib/stub_requests/metrics/registry.rb +132 -0
  30. data/lib/stub_requests/metrics/stub_stat.rb +80 -0
  31. data/lib/stub_requests/metrics.rb +32 -0
  32. data/lib/stub_requests/property/validator.rb +136 -0
  33. data/lib/stub_requests/property.rb +99 -0
  34. data/lib/stub_requests/service.rb +12 -53
  35. data/lib/stub_requests/service_registry.rb +8 -9
  36. data/lib/stub_requests/stub_requests.rb +23 -51
  37. data/lib/stub_requests/uri/builder.rb +5 -1
  38. data/lib/stub_requests/uri/scheme.rb +3 -1
  39. data/lib/stub_requests/uri/suffix.rb +5 -0
  40. data/lib/stub_requests/uri/validator.rb +3 -1
  41. data/lib/stub_requests/uri.rb +34 -0
  42. data/lib/stub_requests/version.rb +1 -1
  43. data/lib/stub_requests/webmock/builder.rb +116 -0
  44. data/lib/stub_requests/webmock/stub_registry_extension.rb +46 -0
  45. data/lib/stub_requests.rb +21 -3
  46. metadata +19 -49
  47. data/docs/.gitkeep +0 -0
  48. data/docs/Array.html +0 -137
  49. data/docs/FalseClass.html +0 -232
  50. data/docs/Hash.html +0 -137
  51. data/docs/NilClass.html +0 -232
  52. data/docs/Numeric.html +0 -233
  53. data/docs/Object.html +0 -396
  54. data/docs/String.html +0 -298
  55. data/docs/StubRequests/API.html +0 -651
  56. data/docs/StubRequests/ArgumentValidation.html +0 -309
  57. data/docs/StubRequests/Endpoint.html +0 -1187
  58. data/docs/StubRequests/EndpointNotFound.html +0 -157
  59. data/docs/StubRequests/EndpointRegistry.html +0 -1527
  60. data/docs/StubRequests/Error.html +0 -153
  61. data/docs/StubRequests/HashUtil.html +0 -304
  62. data/docs/StubRequests/InvalidType.html +0 -252
  63. data/docs/StubRequests/InvalidUri.html +0 -252
  64. data/docs/StubRequests/Service.html +0 -1307
  65. data/docs/StubRequests/ServiceHaveEndpoints.html +0 -244
  66. data/docs/StubRequests/ServiceNotFound.html +0 -252
  67. data/docs/StubRequests/ServiceRegistry.html +0 -1031
  68. data/docs/StubRequests/URI/Builder.html +0 -1194
  69. data/docs/StubRequests/URI/Scheme.html +0 -315
  70. data/docs/StubRequests/URI/Suffix.html +0 -315
  71. data/docs/StubRequests/URI/Validator.html +0 -770
  72. data/docs/StubRequests/URI.html +0 -144
  73. data/docs/StubRequests/UriSegmentMismatch.html +0 -157
  74. data/docs/StubRequests/WebMockBuilder.html +0 -887
  75. data/docs/StubRequests.html +0 -452
  76. data/docs/Time.html +0 -232
  77. data/docs/TrueClass.html +0 -232
  78. data/docs/_config.yml +0 -1
  79. data/docs/_index.html +0 -391
  80. data/docs/class_list.html +0 -51
  81. data/docs/css/common.css +0 -1
  82. data/docs/css/full_list.css +0 -58
  83. data/docs/css/style.css +0 -496
  84. data/docs/file.README.html +0 -225
  85. data/docs/file_list.html +0 -56
  86. data/docs/frames.html +0 -17
  87. data/docs/index.html +0 -225
  88. data/docs/js/app.js +0 -292
  89. data/docs/js/full_list.js +0 -216
  90. data/docs/js/jquery.js +0 -4
  91. data/docs/method_list.html +0 -707
  92. data/docs/top-level-namespace.html +0 -112
  93. data/lib/stub_requests/webmock_builder.rb +0 -108
@@ -1,244 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Exception: StubRequests::ServiceHaveEndpoints
8
-
9
- &mdash; Documentation by YARD 0.9.18
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "StubRequests::ServiceHaveEndpoints";
19
- relpath = '../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../_index.html">Index (S)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../StubRequests.html" title="StubRequests (module)">StubRequests</a></span></span>
41
- &raquo;
42
- <span class="title">ServiceHaveEndpoints</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Exception: StubRequests::ServiceHaveEndpoints
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
- <dl>
70
- <dt>Inherits:</dt>
71
- <dd>
72
- <span class="inheritName">StandardError</span>
73
-
74
- <ul class="fullTree">
75
- <li><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></li>
76
-
77
- <li class="next">StandardError</li>
78
-
79
- <li class="next">StubRequests::ServiceHaveEndpoints</li>
80
-
81
- </ul>
82
- <a href="#" class="inheritanceTree">show all</a>
83
-
84
- </dd>
85
- </dl>
86
-
87
-
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
- <dl>
98
- <dt>Defined in:</dt>
99
- <dd>lib/stub_requests/stub_requests.rb</dd>
100
- </dl>
101
-
102
- </div>
103
-
104
- <h2>Overview</h2><div class="docstring">
105
- <div class="discussion">
106
- <p>ServiceHaveEndpoints is raised to prevent overwriting a registered service&#39;s endpoints</p>
107
-
108
-
109
- </div>
110
- </div>
111
- <div class="tags">
112
-
113
- <p class="tag_title">Since:</p>
114
- <ul class="since">
115
-
116
- <li>
117
-
118
-
119
-
120
-
121
-
122
- <div class='inline'><p>0.1.0</p>
123
- </div>
124
-
125
- </li>
126
-
127
- </ul>
128
-
129
- </div>
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
- <h2>
138
- Instance Method Summary
139
- <small><a href="#" class="summary_toggle">collapse</a></small>
140
- </h2>
141
-
142
- <ul class="summary">
143
-
144
- <li class="public ">
145
- <span class="summary_signature">
146
-
147
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(service) &#x21d2; ServiceHaveEndpoints </a>
148
-
149
-
150
-
151
- </span>
152
-
153
-
154
- <span class="note title constructor">constructor</span>
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
- <span class="summary_desc"><div class='inline'><p>A new instance of ServiceHaveEndpoints.</p>
164
- </div></span>
165
-
166
- </li>
167
-
168
-
169
- </ul>
170
-
171
-
172
-
173
- <div id="constructor_details" class="method_details_list">
174
- <h2>Constructor Details</h2>
175
-
176
- <div class="method_details first">
177
- <h3 class="signature first" id="initialize-instance_method">
178
-
179
- #<strong>initialize</strong>(service) &#x21d2; <tt><span class='object_link'><a href="" title="StubRequests::ServiceHaveEndpoints (class)">ServiceHaveEndpoints</a></span></tt>
180
-
181
-
182
-
183
-
184
-
185
- </h3><div class="docstring">
186
- <div class="discussion">
187
- <p>Returns a new instance of ServiceHaveEndpoints</p>
188
-
189
-
190
- </div>
191
- </div>
192
- <div class="tags">
193
-
194
- <p class="tag_title">Since:</p>
195
- <ul class="since">
196
-
197
- <li>
198
-
199
-
200
-
201
-
202
-
203
- <div class='inline'><p>0.1.0</p>
204
- </div>
205
-
206
- </li>
207
-
208
- </ul>
209
-
210
- </div><table class="source_code">
211
- <tr>
212
- <td>
213
- <pre class="lines">
214
-
215
-
216
- 19
217
- 20
218
- 21</pre>
219
- </td>
220
- <td>
221
- <pre class="code"><span class="info file"># File 'lib/stub_requests/stub_requests.rb', line 19</span>
222
-
223
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_service'>service</span><span class='rparen'>)</span>
224
- <span class='kw'>super</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Service with id </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_service'>service</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'> have already been registered. </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_service'>service</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
225
- <span class='kw'>end</span></pre>
226
- </td>
227
- </tr>
228
- </table>
229
- </div>
230
-
231
- </div>
232
-
233
-
234
- </div>
235
-
236
- <div id="footer">
237
- Generated on Fri Feb 1 19:57:30 2019 by
238
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
239
- 0.9.18 (ruby-2.5.3).
240
- </div>
241
-
242
- </div>
243
- </body>
244
- </html>
@@ -1,252 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Exception: StubRequests::ServiceNotFound
8
-
9
- &mdash; Documentation by YARD 0.9.18
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "StubRequests::ServiceNotFound";
19
- relpath = '../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../_index.html">Index (S)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../StubRequests.html" title="StubRequests (module)">StubRequests</a></span></span>
41
- &raquo;
42
- <span class="title">ServiceNotFound</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Exception: StubRequests::ServiceNotFound
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
- <dl>
70
- <dt>Inherits:</dt>
71
- <dd>
72
- <span class="inheritName"><span class='object_link'><a href="Error.html" title="StubRequests::Error (class)">Error</a></span></span>
73
-
74
- <ul class="fullTree">
75
- <li><span class='object_link'><a href="../Object.html" title="Object (class)">Object</a></span></li>
76
-
77
- <li class="next">StandardError</li>
78
-
79
- <li class="next"><span class='object_link'><a href="Error.html" title="StubRequests::Error (class)">Error</a></span></li>
80
-
81
- <li class="next">StubRequests::ServiceNotFound</li>
82
-
83
- </ul>
84
- <a href="#" class="inheritanceTree">show all</a>
85
-
86
- </dd>
87
- </dl>
88
-
89
-
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
- <dl>
100
- <dt>Defined in:</dt>
101
- <dd>lib/stub_requests/stub_requests.rb</dd>
102
- </dl>
103
-
104
- </div>
105
-
106
- <h2>Overview</h2><div class="docstring">
107
- <div class="discussion">
108
- <p>ServiceNotFound is raised when a service cannot be found</p>
109
-
110
-
111
- </div>
112
- </div>
113
- <div class="tags">
114
-
115
- <p class="tag_title">Since:</p>
116
- <ul class="since">
117
-
118
- <li>
119
-
120
-
121
-
122
-
123
-
124
- <div class='inline'><p>0.1.0</p>
125
- </div>
126
-
127
- </li>
128
-
129
- </ul>
130
-
131
- </div>
132
-
133
-
134
-
135
-
136
-
137
-
138
-
139
- <h2>
140
- Instance Method Summary
141
- <small><a href="#" class="summary_toggle">collapse</a></small>
142
- </h2>
143
-
144
- <ul class="summary">
145
-
146
- <li class="public ">
147
- <span class="summary_signature">
148
-
149
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(service_id) &#x21d2; ServiceNotFound </a>
150
-
151
-
152
-
153
- </span>
154
-
155
-
156
- <span class="note title constructor">constructor</span>
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
- <span class="summary_desc"><div class='inline'><p>A new instance of ServiceNotFound.</p>
166
- </div></span>
167
-
168
- </li>
169
-
170
-
171
- </ul>
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
- <div id="constructor_details" class="method_details_list">
182
- <h2>Constructor Details</h2>
183
-
184
- <div class="method_details first">
185
- <h3 class="signature first" id="initialize-instance_method">
186
-
187
- #<strong>initialize</strong>(service_id) &#x21d2; <tt><span class='object_link'><a href="" title="StubRequests::ServiceNotFound (class)">ServiceNotFound</a></span></tt>
188
-
189
-
190
-
191
-
192
-
193
- </h3><div class="docstring">
194
- <div class="discussion">
195
- <p>Returns a new instance of ServiceNotFound</p>
196
-
197
-
198
- </div>
199
- </div>
200
- <div class="tags">
201
-
202
- <p class="tag_title">Since:</p>
203
- <ul class="since">
204
-
205
- <li>
206
-
207
-
208
-
209
-
210
-
211
- <div class='inline'><p>0.1.0</p>
212
- </div>
213
-
214
- </li>
215
-
216
- </ul>
217
-
218
- </div><table class="source_code">
219
- <tr>
220
- <td>
221
- <pre class="lines">
222
-
223
-
224
- 42
225
- 43
226
- 44</pre>
227
- </td>
228
- <td>
229
- <pre class="code"><span class="info file"># File 'lib/stub_requests/stub_requests.rb', line 42</span>
230
-
231
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_service_id'>service_id</span><span class='rparen'>)</span>
232
- <span class='kw'>super</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Couldn&#39;t find a service with id=:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_service_id'>service_id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
233
- <span class='kw'>end</span></pre>
234
- </td>
235
- </tr>
236
- </table>
237
- </div>
238
-
239
- </div>
240
-
241
-
242
- </div>
243
-
244
- <div id="footer">
245
- Generated on Fri Feb 1 19:57:30 2019 by
246
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
247
- 0.9.18 (ruby-2.5.3).
248
- </div>
249
-
250
- </div>
251
- </body>
252
- </html>