ae_easy-core 0.0.3

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 (69) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/.travis.yml +7 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +57 -0
  7. data/LICENSE +21 -0
  8. data/README.md +16 -0
  9. data/Rakefile +22 -0
  10. data/ae_easy-core.gemspec +49 -0
  11. data/doc/AeEasy.html +117 -0
  12. data/doc/AeEasy/Core.html +1622 -0
  13. data/doc/AeEasy/Core/Config.html +311 -0
  14. data/doc/AeEasy/Core/Exception.html +117 -0
  15. data/doc/AeEasy/Core/Exception/OutdatedError.html +135 -0
  16. data/doc/AeEasy/Core/Helper.html +117 -0
  17. data/doc/AeEasy/Core/Helper/Cookie.html +1070 -0
  18. data/doc/AeEasy/Core/Mock.html +282 -0
  19. data/doc/AeEasy/Core/Mock/FakeDb.html +2316 -0
  20. data/doc/AeEasy/Core/Mock/FakeExecutor.html +2226 -0
  21. data/doc/AeEasy/Core/Mock/FakeParser.html +275 -0
  22. data/doc/AeEasy/Core/Mock/FakeSeeder.html +269 -0
  23. data/doc/AeEasy/Core/Plugin.html +117 -0
  24. data/doc/AeEasy/Core/Plugin/CollectionVault.html +299 -0
  25. data/doc/AeEasy/Core/Plugin/ConfigBehavior.html +541 -0
  26. data/doc/AeEasy/Core/Plugin/ContextIntegrator.html +445 -0
  27. data/doc/AeEasy/Core/Plugin/InitializeHook.html +220 -0
  28. data/doc/AeEasy/Core/Plugin/Parser.html +259 -0
  29. data/doc/AeEasy/Core/Plugin/ParserBehavior.html +420 -0
  30. data/doc/AeEasy/Core/Plugin/Seeder.html +635 -0
  31. data/doc/AeEasy/Core/Plugin/SeederBehavior.html +282 -0
  32. data/doc/AeEasy/Core/SmartCollection.html +1386 -0
  33. data/doc/_index.html +329 -0
  34. data/doc/class_list.html +51 -0
  35. data/doc/css/common.css +1 -0
  36. data/doc/css/full_list.css +58 -0
  37. data/doc/css/style.css +496 -0
  38. data/doc/file.README.html +91 -0
  39. data/doc/file_list.html +56 -0
  40. data/doc/frames.html +17 -0
  41. data/doc/index.html +91 -0
  42. data/doc/js/app.js +292 -0
  43. data/doc/js/full_list.js +216 -0
  44. data/doc/js/jquery.js +4 -0
  45. data/doc/method_list.html +811 -0
  46. data/doc/top-level-namespace.html +110 -0
  47. data/lib/ae_easy/core.rb +241 -0
  48. data/lib/ae_easy/core/config.rb +25 -0
  49. data/lib/ae_easy/core/exception.rb +8 -0
  50. data/lib/ae_easy/core/exception/outdated_error.rb +9 -0
  51. data/lib/ae_easy/core/helper.rb +8 -0
  52. data/lib/ae_easy/core/helper/cookie.rb +209 -0
  53. data/lib/ae_easy/core/mock.rb +44 -0
  54. data/lib/ae_easy/core/mock/fake_db.rb +280 -0
  55. data/lib/ae_easy/core/mock/fake_executor.rb +207 -0
  56. data/lib/ae_easy/core/mock/fake_parser.rb +31 -0
  57. data/lib/ae_easy/core/mock/fake_seeder.rb +28 -0
  58. data/lib/ae_easy/core/plugin.rb +15 -0
  59. data/lib/ae_easy/core/plugin/collection_vault.rb +23 -0
  60. data/lib/ae_easy/core/plugin/config_behavior.rb +43 -0
  61. data/lib/ae_easy/core/plugin/context_integrator.rb +60 -0
  62. data/lib/ae_easy/core/plugin/initialize_hook.rb +17 -0
  63. data/lib/ae_easy/core/plugin/parser.rb +19 -0
  64. data/lib/ae_easy/core/plugin/parser_behavior.rb +39 -0
  65. data/lib/ae_easy/core/plugin/seeder.rb +34 -0
  66. data/lib/ae_easy/core/plugin/seeder_behavior.rb +21 -0
  67. data/lib/ae_easy/core/smart_collection.rb +236 -0
  68. data/lib/ae_easy/core/version.rb +6 -0
  69. metadata +225 -0
@@ -0,0 +1,282 @@
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
+ Module: AeEasy::Core::Mock
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 = "AeEasy::Core::Mock";
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 (M)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Core.html" title="AeEasy::Core (module)">Core</a></span></span>
41
+ &raquo;
42
+ <span class="title">Mock</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>Module: AeEasy::Core::Mock
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/ae_easy/core/mock.rb<span class="defines">,<br />
82
+ lib/ae_easy/core/mock/fake_db.rb,<br /> lib/ae_easy/core/mock/fake_parser.rb,<br /> lib/ae_easy/core/mock/fake_seeder.rb,<br /> lib/ae_easy/core/mock/fake_executor.rb</span>
83
+ </dd>
84
+ </dl>
85
+
86
+ </div>
87
+
88
+ <h2>Defined Under Namespace</h2>
89
+ <p class="children">
90
+
91
+
92
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Mock/FakeExecutor.html" title="AeEasy::Core::Mock::FakeExecutor (module)">FakeExecutor</a></span>
93
+
94
+
95
+
96
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Mock/FakeDb.html" title="AeEasy::Core::Mock::FakeDb (class)">FakeDb</a></span>, <span class='object_link'><a href="Mock/FakeParser.html" title="AeEasy::Core::Mock::FakeParser (class)">FakeParser</a></span>, <span class='object_link'><a href="Mock/FakeSeeder.html" title="AeEasy::Core::Mock::FakeSeeder (class)">FakeSeeder</a></span>
97
+
98
+
99
+ </p>
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ <h2>
109
+ Class Method Summary
110
+ <small><a href="#" class="summary_toggle">collapse</a></small>
111
+ </h2>
112
+
113
+ <ul class="summary">
114
+
115
+ <li class="public ">
116
+ <span class="summary_signature">
117
+
118
+ <a href="#context_vars-class_method" title="context_vars (class method)">.<strong>context_vars</strong>(exposed_methods) &#x21d2; Array </a>
119
+
120
+
121
+
122
+ </span>
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+ <span class="summary_desc"><div class='inline'>
133
+ <p>Generate a context and message queue from a list of exposed methods.</p>
134
+ </div></span>
135
+
136
+ </li>
137
+
138
+
139
+ </ul>
140
+
141
+
142
+
143
+
144
+ <div id="class_method_details" class="method_details_list">
145
+ <h2>Class Method Details</h2>
146
+
147
+
148
+ <div class="method_details first">
149
+ <h3 class="signature first" id="context_vars-class_method">
150
+
151
+ .<strong>context_vars</strong>(exposed_methods) &#x21d2; <tt>Array</tt>
152
+
153
+
154
+
155
+
156
+
157
+ </h3><div class="docstring">
158
+ <div class="discussion">
159
+
160
+ <p>Generate a context and message queue from a list of exposed methods.</p>
161
+
162
+
163
+ </div>
164
+ </div>
165
+ <div class="tags">
166
+
167
+ <div class="examples">
168
+ <p class="tag_title">Examples:</p>
169
+
170
+
171
+ <pre class="example code"><code><span class='id identifier rubyid_exposed_methods'>exposed_methods</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:boo</span><span class='comma'>,</span> <span class='symbol'>:bar</span><span class='rbracket'>]</span>
172
+ <span class='id identifier rubyid_context'>context</span><span class='comma'>,</span> <span class='id identifier rubyid_message_queue'>message_queue</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Core.html" title="AeEasy::Core (module)">Core</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="AeEasy::Core::Mock (module)">Mock</a></span></span><span class='period'>.</span><span class='id identifier rubyid_context_vars'>context_vars</span> <span class='id identifier rubyid_exposed_methods'>exposed_methods</span>
173
+ <span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_boo'>boo</span> <span class='int'>1</span><span class='comma'>,</span> <span class='int'>2</span>
174
+ <span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_bar'>bar</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>A</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>B</span><span class='tstring_end'>&#39;</span></span>
175
+ <span class='id identifier rubyid_context'>context</span><span class='period'>.</span><span class='id identifier rubyid_bar'>bar</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>111</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>222</span><span class='tstring_end'>&#39;</span></span>
176
+ <span class='id identifier rubyid_message_queue'>message_queue</span>
177
+ <span class='comment'># =&gt; [
178
+ </span><span class='comment'># [:boo, [1, 2]],
179
+ </span><span class='comment'># [:bar, [&#39;A&#39;, &#39;B&#39;]],
180
+ </span><span class='comment'># [:bar, [&#39;111&#39;, &#39;222&#39;]]
181
+ </span><span class='comment'># ]</span></code></pre>
182
+
183
+ </div>
184
+ <p class="tag_title">Parameters:</p>
185
+ <ul class="param">
186
+
187
+ <li>
188
+
189
+ <span class='name'>exposed_methods</span>
190
+
191
+
192
+ <span class='type'>(<tt>Array</tt>)</span>
193
+
194
+
195
+
196
+ &mdash;
197
+ <div class='inline'>
198
+ <p>List of exposed methods.</p>
199
+ </div>
200
+
201
+ </li>
202
+
203
+ </ul>
204
+
205
+ <p class="tag_title">Returns:</p>
206
+ <ul class="return">
207
+
208
+ <li>
209
+
210
+
211
+ <span class='type'>(<tt>Array</tt>)</span>
212
+
213
+
214
+
215
+ &mdash;
216
+ <div class='inline'>
217
+ <p>`[context, message_queue]` being:</p>
218
+ <ul><li>
219
+ <p>`context`: Object implementing exposed methods.</p>
220
+ </li><li>
221
+ <p>`[Array] message_queue`: Array to store messages.</p>
222
+ </li></ul>
223
+ </div>
224
+
225
+ </li>
226
+
227
+ </ul>
228
+
229
+ </div><table class="source_code">
230
+ <tr>
231
+ <td>
232
+ <pre class="lines">
233
+
234
+
235
+ 29
236
+ 30
237
+ 31
238
+ 32
239
+ 33
240
+ 34
241
+ 35
242
+ 36
243
+ 37
244
+ 38
245
+ 39
246
+ 40
247
+ 41</pre>
248
+ </td>
249
+ <td>
250
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock.rb', line 29</span>
251
+
252
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_context_vars'>context_vars</span> <span class='id identifier rubyid_exposed_methods'>exposed_methods</span>
253
+ <span class='id identifier rubyid_context'>context</span> <span class='op'>=</span> <span class='const'>Object</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
254
+ <span class='id identifier rubyid_metaclass'>metaclass</span> <span class='op'>=</span> <span class='kw'>class</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_context'>context</span><span class='semicolon'>;</span> <span class='kw'>self</span><span class='semicolon'>;</span> <span class='kw'>end</span>
255
+ <span class='id identifier rubyid_message_queue'>message_queue</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='comment'># Beat reference bug
256
+ </span> <span class='id identifier rubyid_exposed_methods'>exposed_methods</span> <span class='op'>=</span> <span class='id identifier rubyid_exposed_methods'>exposed_methods</span>
257
+ <span class='id identifier rubyid_exposed_methods'>exposed_methods</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
258
+ <span class='id identifier rubyid_metaclass'>metaclass</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:define_method</span><span class='comma'>,</span> <span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='op'>|</span>
259
+ <span class='comment'># Record all method calls into message queue for easy access
260
+ </span> <span class='id identifier rubyid_message_queue'>message_queue</span> <span class='op'>&lt;&lt;</span> <span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_args'>args</span><span class='rbracket'>]</span>
261
+ <span class='kw'>end</span>
262
+ <span class='kw'>end</span>
263
+ <span class='lbracket'>[</span><span class='id identifier rubyid_context'>context</span><span class='comma'>,</span> <span class='id identifier rubyid_message_queue'>message_queue</span><span class='rbracket'>]</span>
264
+ <span class='kw'>end</span></pre>
265
+ </td>
266
+ </tr>
267
+ </table>
268
+ </div>
269
+
270
+ </div>
271
+
272
+ </div>
273
+
274
+ <div id="footer">
275
+ Generated on Wed Feb 13 21:43:50 2019 by
276
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
277
+ 0.9.18 (ruby-2.5.3).
278
+ </div>
279
+
280
+ </div>
281
+ </body>
282
+ </html>
@@ -0,0 +1,2316 @@
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
+ Class: AeEasy::Core::Mock::FakeDb
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 = "AeEasy::Core::Mock::FakeDb";
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 (F)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../../Core.html" title="AeEasy::Core (module)">Core</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Mock.html" title="AeEasy::Core::Mock (module)">Mock</a></span></span>
41
+ &raquo;
42
+ <span class="title">FakeDb</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>Class: AeEasy::Core::Mock::FakeDb
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">AeEasy::Core::Mock::FakeDb</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/ae_easy/core/mock/fake_db.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+ <h2>Overview</h2><div class="docstring">
103
+ <div class="discussion">
104
+
105
+ <p>Fake in memory database that emulates `Answersengine` database objects&#39;
106
+ black box behavior.</p>
107
+
108
+
109
+ </div>
110
+ </div>
111
+ <div class="tags">
112
+
113
+
114
+ </div>
115
+
116
+ <h2>
117
+ Constant Summary
118
+ <small><a href="#" class="constants_summary_toggle">collapse</a></small>
119
+ </h2>
120
+
121
+ <dl class="constants">
122
+
123
+ <dt id="PAGE_KEYS-constant" class="">PAGE_KEYS =
124
+ <div class="docstring">
125
+ <div class="discussion">
126
+
127
+ <p>Page id keys, analog to primary keys.</p>
128
+
129
+
130
+ </div>
131
+ </div>
132
+ <div class="tags">
133
+
134
+
135
+ </div>
136
+ </dt>
137
+ <dd><pre class="code"><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>gid</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
138
+
139
+ <dt id="OUTPUT_KEYS-constant" class="">OUTPUT_KEYS =
140
+ <div class="docstring">
141
+ <div class="discussion">
142
+
143
+ <p>Output id keys, analog to primary keys.</p>
144
+
145
+
146
+ </div>
147
+ </div>
148
+ <div class="tags">
149
+
150
+
151
+ </div>
152
+ </dt>
153
+ <dd><pre class="code"><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_id</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_collection</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
154
+
155
+ <dt id="DEFAULT_COLLECTION-constant" class="">DEFAULT_COLLECTION =
156
+ <div class="docstring">
157
+ <div class="discussion">
158
+
159
+ <p>Default collection for saved outputs</p>
160
+
161
+
162
+ </div>
163
+ </div>
164
+ <div class="tags">
165
+
166
+
167
+ </div>
168
+ </dt>
169
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>default</span><span class='tstring_end'>&#39;</span></span></pre></dd>
170
+
171
+ </dl>
172
+
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+ <h2>
182
+ Class Method Summary
183
+ <small><a href="#" class="summary_toggle">collapse</a></small>
184
+ </h2>
185
+
186
+ <ul class="summary">
187
+
188
+ <li class="public ">
189
+ <span class="summary_signature">
190
+
191
+ <a href="#build_fake_page-class_method" title="build_fake_page (class method)">.<strong>build_fake_page</strong>(opts = {}) &#x21d2; Hash </a>
192
+
193
+
194
+
195
+ </span>
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+ <span class="summary_desc"><div class='inline'>
206
+ <p>Build a fake page by using FakeDb engine.</p>
207
+ </div></span>
208
+
209
+ </li>
210
+
211
+
212
+ <li class="public ">
213
+ <span class="summary_signature">
214
+
215
+ <a href="#build_page-class_method" title="build_page (class method)">.<strong>build_page</strong>(page, opts = {}) &#x21d2; Hash </a>
216
+
217
+
218
+
219
+ </span>
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+ <span class="summary_desc"><div class='inline'>
230
+ <p>Build a page with defaults by using FakeDb engine.</p>
231
+ </div></span>
232
+
233
+ </li>
234
+
235
+
236
+ <li class="public ">
237
+ <span class="summary_signature">
238
+
239
+ <a href="#fake_uuid-class_method" title="fake_uuid (class method)">.<strong>fake_uuid</strong>(seed = nil) &#x21d2; String </a>
240
+
241
+
242
+
243
+ </span>
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+ <span class="summary_desc"><div class='inline'>
254
+ <p>Generate a fake UUID.</p>
255
+ </div></span>
256
+
257
+ </li>
258
+
259
+
260
+ <li class="public ">
261
+ <span class="summary_signature">
262
+
263
+ <a href="#new_collection-class_method" title="new_collection (class method)">.<strong>new_collection</strong>(keys, opts = {}) &#x21d2; AeEasy::Core::SmartCollection </a>
264
+
265
+
266
+
267
+ </span>
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+ <span class="summary_desc"><div class='inline'>
278
+ <p>Generate a smart collection with keys and initial values.</p>
279
+ </div></span>
280
+
281
+ </li>
282
+
283
+
284
+ </ul>
285
+
286
+ <h2>
287
+ Instance Method Summary
288
+ <small><a href="#" class="summary_toggle">collapse</a></small>
289
+ </h2>
290
+
291
+ <ul class="summary">
292
+
293
+ <li class="public ">
294
+ <span class="summary_signature">
295
+
296
+ <a href="#allow_page_gid_override%3F-instance_method" title="#allow_page_gid_override? (instance method)">#<strong>allow_page_gid_override?</strong> &#x21d2; Boolean </a>
297
+
298
+
299
+
300
+ </span>
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+ <span class="summary_desc"><div class='inline'>
311
+ <p>Specify whenever page gid overriding by user is allowed on page insert.</p>
312
+ </div></span>
313
+
314
+ </li>
315
+
316
+
317
+ <li class="public ">
318
+ <span class="summary_signature">
319
+
320
+ <a href="#disable_page_gid_override-instance_method" title="#disable_page_gid_override (instance method)">#<strong>disable_page_gid_override</strong> &#x21d2; Object </a>
321
+
322
+
323
+
324
+ </span>
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+ <span class="summary_desc"><div class='inline'>
335
+ <p>Disable page gid override on page insert.</p>
336
+ </div></span>
337
+
338
+ </li>
339
+
340
+
341
+ <li class="public ">
342
+ <span class="summary_signature">
343
+
344
+ <a href="#enable_page_gid_override-instance_method" title="#enable_page_gid_override (instance method)">#<strong>enable_page_gid_override</strong> &#x21d2; Object </a>
345
+
346
+
347
+
348
+ </span>
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+ <span class="summary_desc"><div class='inline'>
359
+ <p>Enable page gid override on page insert.</p>
360
+ </div></span>
361
+
362
+ </li>
363
+
364
+
365
+ <li class="public ">
366
+ <span class="summary_signature">
367
+
368
+ <a href="#generate_output_id-instance_method" title="#generate_output_id (instance method)">#<strong>generate_output_id</strong>(data) &#x21d2; String </a>
369
+
370
+
371
+
372
+ </span>
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+ <span class="summary_desc"><div class='inline'>
383
+ <p>Generate a fake UUID based on output fields without `_` prefix.</p>
384
+ </div></span>
385
+
386
+ </li>
387
+
388
+
389
+ <li class="public ">
390
+ <span class="summary_signature">
391
+
392
+ <a href="#generate_page_gid-instance_method" title="#generate_page_gid (instance method)">#<strong>generate_page_gid</strong>(data) &#x21d2; String </a>
393
+
394
+
395
+
396
+ </span>
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+ <span class="summary_desc"><div class='inline'>
407
+ <p>Generate a fake UUID based on page data: * url * method * headers *
408
+ fetch_type * cookie * no_redirect * body * ua_type.</p>
409
+ </div></span>
410
+
411
+ </li>
412
+
413
+
414
+ <li class="public ">
415
+ <span class="summary_signature">
416
+
417
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(opts = {}) &#x21d2; FakeDb </a>
418
+
419
+
420
+
421
+ </span>
422
+
423
+
424
+ <span class="note title constructor">constructor</span>
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+ <span class="summary_desc"><div class='inline'>
434
+ <p>Initialize fake database.</p>
435
+ </div></span>
436
+
437
+ </li>
438
+
439
+
440
+ <li class="public ">
441
+ <span class="summary_signature">
442
+
443
+ <a href="#job_id-instance_method" title="#job_id (instance method)">#<strong>job_id</strong> &#x21d2; Integer<sup>?</sup> </a>
444
+
445
+
446
+
447
+ </span>
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+ <span class="summary_desc"><div class='inline'>
458
+ <p>Fake job id.</p>
459
+ </div></span>
460
+
461
+ </li>
462
+
463
+
464
+ <li class="public ">
465
+ <span class="summary_signature">
466
+
467
+ <a href="#job_id=-instance_method" title="#job_id= (instance method)">#<strong>job_id=</strong>(value) &#x21d2; Object </a>
468
+
469
+
470
+
471
+ </span>
472
+
473
+
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+ <span class="summary_desc"><div class='inline'>
482
+ <p>Set fake job id value.</p>
483
+ </div></span>
484
+
485
+ </li>
486
+
487
+
488
+ <li class="public ">
489
+ <span class="summary_signature">
490
+
491
+ <a href="#match%3F-instance_method" title="#match? (instance method)">#<strong>match?</strong>(data, filters) &#x21d2; Boolean </a>
492
+
493
+
494
+
495
+ </span>
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+ <span class="summary_desc"><div class='inline'>
506
+ <p>Match data to filters.</p>
507
+ </div></span>
508
+
509
+ </li>
510
+
511
+
512
+ <li class="public ">
513
+ <span class="summary_signature">
514
+
515
+ <a href="#output_defaults-instance_method" title="#output_defaults (instance method)">#<strong>output_defaults</strong> &#x21d2; Hash </a>
516
+
517
+
518
+
519
+ </span>
520
+
521
+
522
+
523
+
524
+
525
+
526
+
527
+
528
+
529
+ <span class="summary_desc"><div class='inline'>
530
+ <p>Get output keys with key generators to emulate saving on db.</p>
531
+ </div></span>
532
+
533
+ </li>
534
+
535
+
536
+ <li class="public ">
537
+ <span class="summary_signature">
538
+
539
+ <a href="#outputs-instance_method" title="#outputs (instance method)">#<strong>outputs</strong> &#x21d2; AeEasy::Core::SmartCollection </a>
540
+
541
+
542
+
543
+ </span>
544
+
545
+
546
+
547
+
548
+
549
+
550
+
551
+
552
+
553
+ <span class="summary_desc"><div class='inline'>
554
+ <p>Stored output collection.</p>
555
+ </div></span>
556
+
557
+ </li>
558
+
559
+
560
+ <li class="public ">
561
+ <span class="summary_signature">
562
+
563
+ <a href="#page_defaults-instance_method" title="#page_defaults (instance method)">#<strong>page_defaults</strong> &#x21d2; Hash </a>
564
+
565
+
566
+
567
+ </span>
568
+
569
+
570
+
571
+
572
+
573
+
574
+
575
+
576
+
577
+ <span class="summary_desc"><div class='inline'>
578
+ <p>Get page keys with key generators to emulate saving on db.</p>
579
+ </div></span>
580
+
581
+ </li>
582
+
583
+
584
+ <li class="public ">
585
+ <span class="summary_signature">
586
+
587
+ <a href="#page_gid-instance_method" title="#page_gid (instance method)">#<strong>page_gid</strong> &#x21d2; Integer<sup>?</sup> </a>
588
+
589
+
590
+
591
+ </span>
592
+
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+ <span class="summary_desc"><div class='inline'>
602
+ <p>Current fake page gid.</p>
603
+ </div></span>
604
+
605
+ </li>
606
+
607
+
608
+ <li class="public ">
609
+ <span class="summary_signature">
610
+
611
+ <a href="#page_gid=-instance_method" title="#page_gid= (instance method)">#<strong>page_gid=</strong>(value) &#x21d2; Object </a>
612
+
613
+
614
+
615
+ </span>
616
+
617
+
618
+
619
+
620
+
621
+
622
+
623
+
624
+
625
+ <span class="summary_desc"><div class='inline'>
626
+ <p>Set current fake page gid value.</p>
627
+ </div></span>
628
+
629
+ </li>
630
+
631
+
632
+ <li class="public ">
633
+ <span class="summary_signature">
634
+
635
+ <a href="#pages-instance_method" title="#pages (instance method)">#<strong>pages</strong> &#x21d2; AeEasy::Core::SmartCollection </a>
636
+
637
+
638
+
639
+ </span>
640
+
641
+
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+ <span class="summary_desc"><div class='inline'>
650
+ <p>Stored page collection.</p>
651
+ </div></span>
652
+
653
+ </li>
654
+
655
+
656
+ <li class="public ">
657
+ <span class="summary_signature">
658
+
659
+ <a href="#query-instance_method" title="#query (instance method)">#<strong>query</strong>(collection, filter, offset = 0, limit = nil) &#x21d2; Object </a>
660
+
661
+
662
+
663
+ </span>
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+ <span class="summary_desc"><div class='inline'>
674
+ <p>Search items from a collection.</p>
675
+ </div></span>
676
+
677
+ </li>
678
+
679
+
680
+ </ul>
681
+
682
+
683
+ <div id="constructor_details" class="method_details_list">
684
+ <h2>Constructor Details</h2>
685
+
686
+ <div class="method_details first">
687
+ <h3 class="signature first" id="initialize-instance_method">
688
+
689
+ #<strong>initialize</strong>(opts = {}) &#x21d2; <tt><span class='object_link'><a href="" title="AeEasy::Core::Mock::FakeDb (class)">FakeDb</a></span></tt>
690
+
691
+
692
+
693
+
694
+
695
+ </h3><div class="docstring">
696
+ <div class="discussion">
697
+
698
+ <p>Initialize fake database.</p>
699
+
700
+
701
+ </div>
702
+ </div>
703
+ <div class="tags">
704
+ <p class="tag_title">Parameters:</p>
705
+ <ul class="param">
706
+
707
+ <li>
708
+
709
+ <span class='name'>opts</span>
710
+
711
+
712
+ <span class='type'>(<tt>Hash</tt>)</span>
713
+
714
+
715
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
716
+
717
+
718
+ &mdash;
719
+ <div class='inline'>
720
+ <p>({}) Configuration options.</p>
721
+ </div>
722
+
723
+ </li>
724
+
725
+ </ul>
726
+
727
+
728
+
729
+
730
+ <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
731
+ <ul class="option">
732
+
733
+ <li>
734
+ <span class="name">:job_id</span>
735
+ <span class="type">(<tt>Integer</tt>, <tt>nil</tt>)</span>
736
+ <span class="default">
737
+
738
+ </span>
739
+
740
+ &mdash; <div class='inline'>
741
+ <p>Job id default value.</p>
742
+ </div>
743
+
744
+ </li>
745
+
746
+ <li>
747
+ <span class="name">:page_gid</span>
748
+ <span class="type">(<tt>String</tt>, <tt>nil</tt>)</span>
749
+ <span class="default">
750
+
751
+ </span>
752
+
753
+ &mdash; <div class='inline'>
754
+ <p>Page gid default value.</p>
755
+ </div>
756
+
757
+ </li>
758
+
759
+ <li>
760
+ <span class="name">:allow_page_gid_override</span>
761
+ <span class="type">(<tt>Boolean</tt>, <tt>nil</tt>)</span>
762
+ <span class="default">
763
+
764
+ &mdash; default:
765
+ <tt>false</tt>
766
+
767
+ </span>
768
+
769
+ &mdash; <div class='inline'>
770
+ <p>Specify whenever page gid can be overrided on page insert.</p>
771
+ </div>
772
+
773
+ </li>
774
+
775
+ </ul>
776
+
777
+
778
+
779
+ </div><table class="source_code">
780
+ <tr>
781
+ <td>
782
+ <pre class="lines">
783
+
784
+
785
+ 106
786
+ 107
787
+ 108
788
+ 109
789
+ 110</pre>
790
+ </td>
791
+ <td>
792
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 106</span>
793
+
794
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
795
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_job_id'>job_id</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:job_id</span><span class='rbracket'>]</span>
796
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_page_gid'>page_gid</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:page_gid</span><span class='rbracket'>]</span>
797
+ <span class='ivar'>@allow_page_gid_override</span> <span class='op'>=</span> <span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:allow_page_gid_override</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='kw'>false</span> <span class='op'>:</span> <span class='op'>!</span><span class='op'>!</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:allow_page_gid_override</span><span class='rbracket'>]</span>
798
+ <span class='kw'>end</span></pre>
799
+ </td>
800
+ </tr>
801
+ </table>
802
+ </div>
803
+
804
+ </div>
805
+
806
+
807
+ <div id="class_method_details" class="method_details_list">
808
+ <h2>Class Method Details</h2>
809
+
810
+
811
+ <div class="method_details first">
812
+ <h3 class="signature first" id="build_fake_page-class_method">
813
+
814
+ .<strong>build_fake_page</strong>(opts = {}) &#x21d2; <tt>Hash</tt>
815
+
816
+
817
+
818
+
819
+
820
+ </h3><div class="docstring">
821
+ <div class="discussion">
822
+
823
+ <p>Build a fake page by using FakeDb engine.</p>
824
+
825
+
826
+ </div>
827
+ </div>
828
+ <div class="tags">
829
+ <p class="tag_title">Parameters:</p>
830
+ <ul class="param">
831
+
832
+ <li>
833
+
834
+ <span class='name'>opts</span>
835
+
836
+
837
+ <span class='type'>(<tt>Hash</tt>)</span>
838
+
839
+
840
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
841
+
842
+
843
+ &mdash;
844
+ <div class='inline'>
845
+ <p>({}) Configuration options (see #initialize).</p>
846
+ </div>
847
+
848
+ </li>
849
+
850
+ </ul>
851
+
852
+
853
+
854
+
855
+ <p class="tag_title">Options Hash (<tt>opts</tt>):</p>
856
+ <ul class="option">
857
+
858
+ <li>
859
+ <span class="name">:url</span>
860
+ <span class="type">(<tt>String</tt>)</span>
861
+ <span class="default">
862
+
863
+ &mdash; default:
864
+ <tt>&#39;https://example.com&#39;</tt>
865
+
866
+ </span>
867
+
868
+ &mdash; <div class='inline'>
869
+ <p>Page url.</p>
870
+ </div>
871
+
872
+ </li>
873
+
874
+ </ul>
875
+
876
+
877
+ <p class="tag_title">Returns:</p>
878
+ <ul class="return">
879
+
880
+ <li>
881
+
882
+
883
+ <span class='type'>(<tt>Hash</tt>)</span>
884
+
885
+
886
+
887
+ </li>
888
+
889
+ </ul>
890
+
891
+ </div><table class="source_code">
892
+ <tr>
893
+ <td>
894
+ <pre class="lines">
895
+
896
+
897
+ 52
898
+ 53
899
+ 54
900
+ 55
901
+ 56
902
+ 57</pre>
903
+ </td>
904
+ <td>
905
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 52</span>
906
+
907
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_build_fake_page'>build_fake_page</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
908
+ <span class='id identifier rubyid_page'>page</span> <span class='op'>=</span> <span class='lbrace'>{</span>
909
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>url</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='lparen'>(</span><span class='id identifier rubyid_opts'>opts</span><span class='lbracket'>[</span><span class='symbol'>:url</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>https://example.com</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
910
+ <span class='rbrace'>}</span>
911
+ <span class='id identifier rubyid_build_page'>build_page</span> <span class='id identifier rubyid_page'>page</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span>
912
+ <span class='kw'>end</span></pre>
913
+ </td>
914
+ </tr>
915
+ </table>
916
+ </div>
917
+
918
+ <div class="method_details ">
919
+ <h3 class="signature " id="build_page-class_method">
920
+
921
+ .<strong>build_page</strong>(page, opts = {}) &#x21d2; <tt>Hash</tt>
922
+
923
+
924
+
925
+
926
+
927
+ </h3><div class="docstring">
928
+ <div class="discussion">
929
+
930
+ <p>Build a page with defaults by using FakeDb engine.</p>
931
+
932
+
933
+ </div>
934
+ </div>
935
+ <div class="tags">
936
+ <p class="tag_title">Parameters:</p>
937
+ <ul class="param">
938
+
939
+ <li>
940
+
941
+ <span class='name'>page</span>
942
+
943
+
944
+ <span class='type'>(<tt>Hash</tt>)</span>
945
+
946
+
947
+
948
+ &mdash;
949
+ <div class='inline'>
950
+ <p>Page initial values.</p>
951
+ </div>
952
+
953
+ </li>
954
+
955
+ <li>
956
+
957
+ <span class='name'>opts</span>
958
+
959
+
960
+ <span class='type'>(<tt>Hash</tt>)</span>
961
+
962
+
963
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
964
+
965
+
966
+ &mdash;
967
+ <div class='inline'>
968
+ <p>({}) Configuration options (see #initialize).</p>
969
+ </div>
970
+
971
+ </li>
972
+
973
+ </ul>
974
+
975
+ <p class="tag_title">Returns:</p>
976
+ <ul class="return">
977
+
978
+ <li>
979
+
980
+
981
+ <span class='type'>(<tt>Hash</tt>)</span>
982
+
983
+
984
+
985
+ </li>
986
+
987
+ </ul>
988
+
989
+ </div><table class="source_code">
990
+ <tr>
991
+ <td>
992
+ <pre class="lines">
993
+
994
+
995
+ 39
996
+ 40
997
+ 41
998
+ 42
999
+ 43
1000
+ 44</pre>
1001
+ </td>
1002
+ <td>
1003
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 39</span>
1004
+
1005
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_build_page'>build_page</span> <span class='id identifier rubyid_page'>page</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1006
+ <span class='id identifier rubyid_temp_db'>temp_db</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Core.html" title="AeEasy::Core (module)">Core</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Mock.html" title="AeEasy::Core::Mock (module)">Mock</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="AeEasy::Core::Mock::FakeDb (class)">FakeDb</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="AeEasy::Core::Mock::FakeDb#initialize (method)">new</a></span></span> <span class='id identifier rubyid_opts'>opts</span>
1007
+ <span class='id identifier rubyid_temp_db'>temp_db</span><span class='period'>.</span><span class='id identifier rubyid_enable_page_gid_override'>enable_page_gid_override</span>
1008
+ <span class='id identifier rubyid_temp_db'>temp_db</span><span class='period'>.</span><span class='id identifier rubyid_pages'>pages</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_page'>page</span>
1009
+ <span class='id identifier rubyid_temp_db'>temp_db</span><span class='period'>.</span><span class='id identifier rubyid_pages'>pages</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1010
+ <span class='kw'>end</span></pre>
1011
+ </td>
1012
+ </tr>
1013
+ </table>
1014
+ </div>
1015
+
1016
+ <div class="method_details ">
1017
+ <h3 class="signature " id="fake_uuid-class_method">
1018
+
1019
+ .<strong>fake_uuid</strong>(seed = nil) &#x21d2; <tt>String</tt>
1020
+
1021
+
1022
+
1023
+
1024
+
1025
+ </h3><div class="docstring">
1026
+ <div class="discussion">
1027
+
1028
+ <p>Generate a fake UUID.</p>
1029
+
1030
+
1031
+ </div>
1032
+ </div>
1033
+ <div class="tags">
1034
+ <p class="tag_title">Parameters:</p>
1035
+ <ul class="param">
1036
+
1037
+ <li>
1038
+
1039
+ <span class='name'>seed</span>
1040
+
1041
+
1042
+ <span class='type'>(<tt>nil</tt>)</span>
1043
+
1044
+
1045
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1046
+
1047
+
1048
+ &mdash;
1049
+ <div class='inline'>
1050
+ <p>Object to use as seed for uuid.</p>
1051
+ </div>
1052
+
1053
+ </li>
1054
+
1055
+ </ul>
1056
+
1057
+ <p class="tag_title">Returns:</p>
1058
+ <ul class="return">
1059
+
1060
+ <li>
1061
+
1062
+
1063
+ <span class='type'>(<tt>String</tt>)</span>
1064
+
1065
+
1066
+
1067
+ </li>
1068
+
1069
+ </ul>
1070
+
1071
+ </div><table class="source_code">
1072
+ <tr>
1073
+ <td>
1074
+ <pre class="lines">
1075
+
1076
+
1077
+ 28
1078
+ 29
1079
+ 30
1080
+ 31</pre>
1081
+ </td>
1082
+ <td>
1083
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 28</span>
1084
+
1085
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_fake_uuid'>fake_uuid</span> <span class='id identifier rubyid_seed'>seed</span> <span class='op'>=</span> <span class='kw'>nil</span>
1086
+ <span class='id identifier rubyid_seed'>seed</span> <span class='op'>||=</span> <span class='lparen'>(</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>+</span> <span class='id identifier rubyid_rand'>rand</span><span class='rparen'>)</span>
1087
+ <span class='const'>Digest</span><span class='op'>::</span><span class='const'>SHA1</span><span class='period'>.</span><span class='id identifier rubyid_hexdigest'>hexdigest</span> <span class='id identifier rubyid_seed'>seed</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1088
+ <span class='kw'>end</span></pre>
1089
+ </td>
1090
+ </tr>
1091
+ </table>
1092
+ </div>
1093
+
1094
+ <div class="method_details ">
1095
+ <h3 class="signature " id="new_collection-class_method">
1096
+
1097
+ .<strong>new_collection</strong>(keys, opts = {}) &#x21d2; <tt><span class='object_link'><a href="../SmartCollection.html" title="AeEasy::Core::SmartCollection (class)">AeEasy::Core::SmartCollection</a></span></tt>
1098
+
1099
+
1100
+
1101
+
1102
+
1103
+ </h3><div class="docstring">
1104
+ <div class="discussion">
1105
+
1106
+ <p>Generate a smart collection with keys and initial values.</p>
1107
+
1108
+
1109
+ </div>
1110
+ </div>
1111
+ <div class="tags">
1112
+ <p class="tag_title">Parameters:</p>
1113
+ <ul class="param">
1114
+
1115
+ <li>
1116
+
1117
+ <span class='name'>keys</span>
1118
+
1119
+
1120
+ <span class='type'>(<tt>Array</tt>)</span>
1121
+
1122
+
1123
+
1124
+ &mdash;
1125
+ <div class='inline'>
1126
+ <p>Analog to primary keys, combination will be uniq.</p>
1127
+ </div>
1128
+
1129
+ </li>
1130
+
1131
+ <li>
1132
+
1133
+ <span class='name'>opts</span>
1134
+
1135
+
1136
+ <span class='type'>(<tt>Hash</tt>)</span>
1137
+
1138
+
1139
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1140
+
1141
+
1142
+ &mdash;
1143
+ <div class='inline'>
1144
+ <p>Configuration options (see AeEasy::Core::SmartCollection#initialize).</p>
1145
+ </div>
1146
+
1147
+ </li>
1148
+
1149
+ </ul>
1150
+
1151
+ <p class="tag_title">Returns:</p>
1152
+ <ul class="return">
1153
+
1154
+ <li>
1155
+
1156
+
1157
+ <span class='type'>(<tt><span class='object_link'><a href="../SmartCollection.html" title="AeEasy::Core::SmartCollection (class)">AeEasy::Core::SmartCollection</a></span></tt>)</span>
1158
+
1159
+
1160
+
1161
+ </li>
1162
+
1163
+ </ul>
1164
+
1165
+ </div><table class="source_code">
1166
+ <tr>
1167
+ <td>
1168
+ <pre class="lines">
1169
+
1170
+
1171
+ 19
1172
+ 20
1173
+ 21</pre>
1174
+ </td>
1175
+ <td>
1176
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 19</span>
1177
+
1178
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_new_collection'>new_collection</span> <span class='id identifier rubyid_keys'>keys</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1179
+ <span class='const'><span class='object_link'><a href="../../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Core.html" title="AeEasy::Core (module)">Core</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../SmartCollection.html" title="AeEasy::Core::SmartCollection (class)">SmartCollection</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../SmartCollection.html#initialize-instance_method" title="AeEasy::Core::SmartCollection#initialize (method)">new</a></span></span> <span class='id identifier rubyid_keys'>keys</span><span class='comma'>,</span> <span class='id identifier rubyid_opts'>opts</span>
1180
+ <span class='kw'>end</span></pre>
1181
+ </td>
1182
+ </tr>
1183
+ </table>
1184
+ </div>
1185
+
1186
+ </div>
1187
+
1188
+ <div id="instance_method_details" class="method_details_list">
1189
+ <h2>Instance Method Details</h2>
1190
+
1191
+
1192
+ <div class="method_details first">
1193
+ <h3 class="signature first" id="allow_page_gid_override?-instance_method">
1194
+
1195
+ #<strong>allow_page_gid_override?</strong> &#x21d2; <tt>Boolean</tt>
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+ </h3><div class="docstring">
1202
+ <div class="discussion">
1203
+
1204
+ <p>Specify whenever page gid overriding by user is allowed on page</p>
1205
+
1206
+ <pre class="code ruby"><code class="ruby">insert.
1207
+ </code></pre>
1208
+
1209
+
1210
+ </div>
1211
+ </div>
1212
+ <div class="tags">
1213
+
1214
+ <p class="tag_title">Returns:</p>
1215
+ <ul class="return">
1216
+
1217
+ <li>
1218
+
1219
+
1220
+ <span class='type'>(<tt>Boolean</tt>)</span>
1221
+
1222
+
1223
+
1224
+ &mdash;
1225
+ <div class='inline'>
1226
+ <p>`true` when allowed, else `false`.</p>
1227
+ </div>
1228
+
1229
+ </li>
1230
+
1231
+ </ul>
1232
+
1233
+ </div><table class="source_code">
1234
+ <tr>
1235
+ <td>
1236
+ <pre class="lines">
1237
+
1238
+
1239
+ 95
1240
+ 96
1241
+ 97</pre>
1242
+ </td>
1243
+ <td>
1244
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 95</span>
1245
+
1246
+ <span class='kw'>def</span> <span class='id identifier rubyid_allow_page_gid_override?'>allow_page_gid_override?</span>
1247
+ <span class='ivar'>@allow_page_gid_override</span> <span class='op'>||=</span> <span class='kw'>false</span>
1248
+ <span class='kw'>end</span></pre>
1249
+ </td>
1250
+ </tr>
1251
+ </table>
1252
+ </div>
1253
+
1254
+ <div class="method_details ">
1255
+ <h3 class="signature " id="disable_page_gid_override-instance_method">
1256
+
1257
+ #<strong>disable_page_gid_override</strong> &#x21d2; <tt>Object</tt>
1258
+
1259
+
1260
+
1261
+
1262
+
1263
+ </h3><div class="docstring">
1264
+ <div class="discussion">
1265
+
1266
+ <p>Disable page gid override on page insert.</p>
1267
+
1268
+
1269
+ </div>
1270
+ </div>
1271
+ <div class="tags">
1272
+
1273
+
1274
+ </div><table class="source_code">
1275
+ <tr>
1276
+ <td>
1277
+ <pre class="lines">
1278
+
1279
+
1280
+ 87
1281
+ 88
1282
+ 89</pre>
1283
+ </td>
1284
+ <td>
1285
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 87</span>
1286
+
1287
+ <span class='kw'>def</span> <span class='id identifier rubyid_disable_page_gid_override'>disable_page_gid_override</span>
1288
+ <span class='ivar'>@allow_page_gid_override</span> <span class='op'>=</span> <span class='kw'>false</span>
1289
+ <span class='kw'>end</span></pre>
1290
+ </td>
1291
+ </tr>
1292
+ </table>
1293
+ </div>
1294
+
1295
+ <div class="method_details ">
1296
+ <h3 class="signature " id="enable_page_gid_override-instance_method">
1297
+
1298
+ #<strong>enable_page_gid_override</strong> &#x21d2; <tt>Object</tt>
1299
+
1300
+
1301
+
1302
+
1303
+
1304
+ </h3><div class="docstring">
1305
+ <div class="discussion">
1306
+
1307
+ <p>Enable page gid override on page insert.</p>
1308
+
1309
+
1310
+ </div>
1311
+ </div>
1312
+ <div class="tags">
1313
+
1314
+
1315
+ </div><table class="source_code">
1316
+ <tr>
1317
+ <td>
1318
+ <pre class="lines">
1319
+
1320
+
1321
+ 82
1322
+ 83
1323
+ 84</pre>
1324
+ </td>
1325
+ <td>
1326
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 82</span>
1327
+
1328
+ <span class='kw'>def</span> <span class='id identifier rubyid_enable_page_gid_override'>enable_page_gid_override</span>
1329
+ <span class='ivar'>@allow_page_gid_override</span> <span class='op'>=</span> <span class='kw'>true</span>
1330
+ <span class='kw'>end</span></pre>
1331
+ </td>
1332
+ </tr>
1333
+ </table>
1334
+ </div>
1335
+
1336
+ <div class="method_details ">
1337
+ <h3 class="signature " id="generate_output_id-instance_method">
1338
+
1339
+ #<strong>generate_output_id</strong>(data) &#x21d2; <tt>String</tt>
1340
+
1341
+
1342
+
1343
+
1344
+
1345
+ </h3><div class="docstring">
1346
+ <div class="discussion">
1347
+
1348
+ <p>Generate a fake UUID based on output fields without `_` prefix.</p>
1349
+
1350
+
1351
+ </div>
1352
+ </div>
1353
+ <div class="tags">
1354
+ <p class="tag_title">Parameters:</p>
1355
+ <ul class="param">
1356
+
1357
+ <li>
1358
+
1359
+ <span class='name'>data</span>
1360
+
1361
+
1362
+ <span class='type'>(<tt>Hash</tt>)</span>
1363
+
1364
+
1365
+
1366
+ &mdash;
1367
+ <div class='inline'>
1368
+ <p>Output data.</p>
1369
+ </div>
1370
+
1371
+ </li>
1372
+
1373
+ </ul>
1374
+
1375
+ <p class="tag_title">Returns:</p>
1376
+ <ul class="return">
1377
+
1378
+ <li>
1379
+
1380
+
1381
+ <span class='type'>(<tt>String</tt>)</span>
1382
+
1383
+
1384
+
1385
+ </li>
1386
+
1387
+ </ul>
1388
+
1389
+ </div><table class="source_code">
1390
+ <tr>
1391
+ <td>
1392
+ <pre class="lines">
1393
+
1394
+
1395
+ 187
1396
+ 188
1397
+ 189
1398
+ 190</pre>
1399
+ </td>
1400
+ <td>
1401
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 187</span>
1402
+
1403
+ <span class='kw'>def</span> <span class='id identifier rubyid_generate_output_id'>generate_output_id</span> <span class='id identifier rubyid_data'>data</span>
1404
+ <span class='id identifier rubyid_seed'>seed</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^[^_]</span><span class='regexp_end'>/</span></span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span>
1405
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_fake_uuid'>fake_uuid</span> <span class='id identifier rubyid_seed'>seed</span>
1406
+ <span class='kw'>end</span></pre>
1407
+ </td>
1408
+ </tr>
1409
+ </table>
1410
+ </div>
1411
+
1412
+ <div class="method_details ">
1413
+ <h3 class="signature " id="generate_page_gid-instance_method">
1414
+
1415
+ #<strong>generate_page_gid</strong>(data) &#x21d2; <tt>String</tt>
1416
+
1417
+
1418
+
1419
+
1420
+
1421
+ </h3><div class="docstring">
1422
+ <div class="discussion">
1423
+
1424
+ <p>Generate a fake UUID based on page data:</p>
1425
+
1426
+ <pre class="code ruby"><code class="ruby">* url
1427
+ * method
1428
+ * headers
1429
+ * fetch_type
1430
+ * cookie
1431
+ * no_redirect
1432
+ * body
1433
+ * ua_type
1434
+ </code></pre>
1435
+
1436
+
1437
+ </div>
1438
+ </div>
1439
+ <div class="tags">
1440
+ <p class="tag_title">Parameters:</p>
1441
+ <ul class="param">
1442
+
1443
+ <li>
1444
+
1445
+ <span class='name'>data</span>
1446
+
1447
+
1448
+ <span class='type'>(<tt>Hash</tt>)</span>
1449
+
1450
+
1451
+
1452
+ &mdash;
1453
+ <div class='inline'>
1454
+ <p>Output data.</p>
1455
+ </div>
1456
+
1457
+ </li>
1458
+
1459
+ </ul>
1460
+
1461
+ <p class="tag_title">Returns:</p>
1462
+ <ul class="return">
1463
+
1464
+ <li>
1465
+
1466
+
1467
+ <span class='type'>(<tt>String</tt>)</span>
1468
+
1469
+
1470
+
1471
+ </li>
1472
+
1473
+ </ul>
1474
+
1475
+ </div><table class="source_code">
1476
+ <tr>
1477
+ <td>
1478
+ <pre class="lines">
1479
+
1480
+
1481
+ 125
1482
+ 126
1483
+ 127
1484
+ 128
1485
+ 129
1486
+ 130
1487
+ 131
1488
+ 132
1489
+ 133
1490
+ 134
1491
+ 135
1492
+ 136
1493
+ 137
1494
+ 138</pre>
1495
+ </td>
1496
+ <td>
1497
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 125</span>
1498
+
1499
+ <span class='kw'>def</span> <span class='id identifier rubyid_generate_page_gid'>generate_page_gid</span> <span class='id identifier rubyid_data'>data</span>
1500
+ <span class='id identifier rubyid_fields'>fields</span> <span class='op'>=</span> <span class='lbracket'>[</span>
1501
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>url</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1502
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>method</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1503
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>headers</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1504
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetch_type</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1505
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1506
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>no_redirect</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1507
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>body</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1508
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>ua_type</span><span class='tstring_end'>&#39;</span></span>
1509
+ <span class='rbracket'>]</span>
1510
+ <span class='id identifier rubyid_seed'>seed</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span><span class='id identifier rubyid_fields'>fields</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span> <span class='id identifier rubyid_k'>k</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_hash'>hash</span>
1511
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_fake_uuid'>fake_uuid</span> <span class='id identifier rubyid_seed'>seed</span>
1512
+ <span class='kw'>end</span></pre>
1513
+ </td>
1514
+ </tr>
1515
+ </table>
1516
+ </div>
1517
+
1518
+ <div class="method_details ">
1519
+ <h3 class="signature " id="job_id-instance_method">
1520
+
1521
+ #<strong>job_id</strong> &#x21d2; <tt>Integer</tt><sup>?</sup>
1522
+
1523
+
1524
+
1525
+
1526
+
1527
+ </h3><div class="docstring">
1528
+ <div class="discussion">
1529
+
1530
+ <p>Fake job id.</p>
1531
+
1532
+
1533
+ </div>
1534
+ </div>
1535
+ <div class="tags">
1536
+
1537
+ <p class="tag_title">Returns:</p>
1538
+ <ul class="return">
1539
+
1540
+ <li>
1541
+
1542
+
1543
+ <span class='type'>(<tt>Integer</tt>, <tt>nil</tt>)</span>
1544
+
1545
+
1546
+
1547
+ </li>
1548
+
1549
+ </ul>
1550
+
1551
+ </div><table class="source_code">
1552
+ <tr>
1553
+ <td>
1554
+ <pre class="lines">
1555
+
1556
+
1557
+ 61
1558
+ 62
1559
+ 63</pre>
1560
+ </td>
1561
+ <td>
1562
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 61</span>
1563
+
1564
+ <span class='kw'>def</span> <span class='id identifier rubyid_job_id'>job_id</span>
1565
+ <span class='ivar'>@job_id</span> <span class='op'>||=</span> <span class='id identifier rubyid_rand'>rand</span><span class='lparen'>(</span><span class='int'>1000</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='int'>1</span>
1566
+ <span class='kw'>end</span></pre>
1567
+ </td>
1568
+ </tr>
1569
+ </table>
1570
+ </div>
1571
+
1572
+ <div class="method_details ">
1573
+ <h3 class="signature " id="job_id=-instance_method">
1574
+
1575
+ #<strong>job_id=</strong>(value) &#x21d2; <tt>Object</tt>
1576
+
1577
+
1578
+
1579
+
1580
+
1581
+ </h3><div class="docstring">
1582
+ <div class="discussion">
1583
+
1584
+ <p>Set fake job id value.</p>
1585
+
1586
+
1587
+ </div>
1588
+ </div>
1589
+ <div class="tags">
1590
+
1591
+
1592
+ </div><table class="source_code">
1593
+ <tr>
1594
+ <td>
1595
+ <pre class="lines">
1596
+
1597
+
1598
+ 66
1599
+ 67
1600
+ 68</pre>
1601
+ </td>
1602
+ <td>
1603
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 66</span>
1604
+
1605
+ <span class='kw'>def</span> <span class='id identifier rubyid_job_id='>job_id=</span> <span class='id identifier rubyid_value'>value</span>
1606
+ <span class='ivar'>@job_id</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
1607
+ <span class='kw'>end</span></pre>
1608
+ </td>
1609
+ </tr>
1610
+ </table>
1611
+ </div>
1612
+
1613
+ <div class="method_details ">
1614
+ <h3 class="signature " id="match?-instance_method">
1615
+
1616
+ #<strong>match?</strong>(data, filters) &#x21d2; <tt>Boolean</tt>
1617
+
1618
+
1619
+
1620
+
1621
+
1622
+ </h3><div class="docstring">
1623
+ <div class="discussion">
1624
+
1625
+ <div class="note notetag">
1626
+ <strong>Note:</strong>
1627
+ <div class='inline'>
1628
+ <p>Missing and `nil` values on `data` will match when `filters`&#39; field is
1629
+ `nil`.</p>
1630
+ </div>
1631
+ </div>
1632
+
1633
+
1634
+ <p>Match data to filters.</p>
1635
+
1636
+
1637
+ </div>
1638
+ </div>
1639
+ <div class="tags">
1640
+ <p class="tag_title">Parameters:</p>
1641
+ <ul class="param">
1642
+
1643
+ <li>
1644
+
1645
+ <span class='name'>data</span>
1646
+
1647
+
1648
+ <span class='type'></span>
1649
+
1650
+
1651
+
1652
+ &mdash;
1653
+ <div class='inline'>
1654
+ <p>Hash containing data.</p>
1655
+ </div>
1656
+
1657
+ </li>
1658
+
1659
+ <li>
1660
+
1661
+ <span class='name'>filters</span>
1662
+
1663
+
1664
+ <span class='type'></span>
1665
+
1666
+
1667
+
1668
+ &mdash;
1669
+ <div class='inline'>
1670
+ <p>Filters to apply on match.</p>
1671
+ </div>
1672
+
1673
+ </li>
1674
+
1675
+ </ul>
1676
+
1677
+ <p class="tag_title">Returns:</p>
1678
+ <ul class="return">
1679
+
1680
+ <li>
1681
+
1682
+
1683
+ <span class='type'>(<tt>Boolean</tt>)</span>
1684
+
1685
+
1686
+
1687
+ </li>
1688
+
1689
+ </ul>
1690
+
1691
+ </div><table class="source_code">
1692
+ <tr>
1693
+ <td>
1694
+ <pre class="lines">
1695
+
1696
+
1697
+ 232
1698
+ 233
1699
+ 234
1700
+ 235
1701
+ 236
1702
+ 237</pre>
1703
+ </td>
1704
+ <td>
1705
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 232</span>
1706
+
1707
+ <span class='kw'>def</span> <span class='id identifier rubyid_match?'>match?</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_filters'>filters</span>
1708
+ <span class='id identifier rubyid_filters'>filters</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
1709
+ <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='id identifier rubyid_key'>key</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='id identifier rubyid_value'>value</span>
1710
+ <span class='kw'>end</span>
1711
+ <span class='kw'>true</span>
1712
+ <span class='kw'>end</span></pre>
1713
+ </td>
1714
+ </tr>
1715
+ </table>
1716
+ </div>
1717
+
1718
+ <div class="method_details ">
1719
+ <h3 class="signature " id="output_defaults-instance_method">
1720
+
1721
+ #<strong>output_defaults</strong> &#x21d2; <tt>Hash</tt>
1722
+
1723
+
1724
+
1725
+
1726
+
1727
+ </h3><div class="docstring">
1728
+ <div class="discussion">
1729
+
1730
+ <p>Get output keys with key generators to emulate saving on db.</p>
1731
+
1732
+
1733
+ </div>
1734
+ </div>
1735
+ <div class="tags">
1736
+
1737
+ <p class="tag_title">Returns:</p>
1738
+ <ul class="return">
1739
+
1740
+ <li>
1741
+
1742
+
1743
+ <span class='type'>(<tt>Hash</tt>)</span>
1744
+
1745
+
1746
+
1747
+ </li>
1748
+
1749
+ </ul>
1750
+
1751
+ </div><table class="source_code">
1752
+ <tr>
1753
+ <td>
1754
+ <pre class="lines">
1755
+
1756
+
1757
+ 196
1758
+ 197
1759
+ 198
1760
+ 199
1761
+ 200
1762
+ 201
1763
+ 202
1764
+ 203</pre>
1765
+ </td>
1766
+ <td>
1767
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 196</span>
1768
+
1769
+ <span class='kw'>def</span> <span class='id identifier rubyid_output_defaults'>output_defaults</span>
1770
+ <span class='ivar'>@output_keys</span> <span class='op'>||=</span> <span class='lbrace'>{</span>
1771
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_collection</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='const'><span class='object_link'><a href="#DEFAULT_COLLECTION-constant" title="AeEasy::Core::Mock::FakeDb::DEFAULT_COLLECTION (constant)">DEFAULT_COLLECTION</a></span></span><span class='comma'>,</span>
1772
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_job_id</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_lambda'>lambda</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_output'>output</span><span class='op'>|</span> <span class='id identifier rubyid_job_id'>job_id</span><span class='rbrace'>}</span><span class='comma'>,</span>
1773
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_created_at</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_lambda'>lambda</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_output'>output</span><span class='op'>|</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>%Y-%m-%dT%H:%M:%SZ</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='comma'>,</span>
1774
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_gid</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_lambda'>lambda</span><span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_output'>output</span><span class='op'>|</span> <span class='id identifier rubyid_page_gid'>page_gid</span><span class='rbrace'>}</span>
1775
+ <span class='rbrace'>}</span>
1776
+ <span class='kw'>end</span></pre>
1777
+ </td>
1778
+ </tr>
1779
+ </table>
1780
+ </div>
1781
+
1782
+ <div class="method_details ">
1783
+ <h3 class="signature " id="outputs-instance_method">
1784
+
1785
+ #<strong>outputs</strong> &#x21d2; <tt><span class='object_link'><a href="../SmartCollection.html" title="AeEasy::Core::SmartCollection (class)">AeEasy::Core::SmartCollection</a></span></tt>
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+ </h3><div class="docstring">
1792
+ <div class="discussion">
1793
+
1794
+ <p>Stored output collection</p>
1795
+
1796
+
1797
+ </div>
1798
+ </div>
1799
+ <div class="tags">
1800
+
1801
+ <p class="tag_title">Returns:</p>
1802
+ <ul class="return">
1803
+
1804
+ <li>
1805
+
1806
+
1807
+ <span class='type'>(<tt><span class='object_link'><a href="../SmartCollection.html" title="AeEasy::Core::SmartCollection (class)">AeEasy::Core::SmartCollection</a></span></tt>)</span>
1808
+
1809
+
1810
+
1811
+ </li>
1812
+
1813
+ </ul>
1814
+
1815
+ </div><table class="source_code">
1816
+ <tr>
1817
+ <td>
1818
+ <pre class="lines">
1819
+
1820
+
1821
+ 208
1822
+ 209
1823
+ 210
1824
+ 211
1825
+ 212
1826
+ 213
1827
+ 214
1828
+ 215
1829
+ 216
1830
+ 217
1831
+ 218
1832
+ 219
1833
+ 220</pre>
1834
+ </td>
1835
+ <td>
1836
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 208</span>
1837
+
1838
+ <span class='kw'>def</span> <span class='id identifier rubyid_outputs'>outputs</span>
1839
+ <span class='kw'>return</span> <span class='ivar'>@outputs</span> <span class='kw'>unless</span> <span class='ivar'>@outputs</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1840
+ <span class='id identifier rubyid_collection'>collection</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new_collection'>new_collection</span> <span class='const'><span class='object_link'><a href="#OUTPUT_KEYS-constant" title="AeEasy::Core::Mock::FakeDb::OUTPUT_KEYS (constant)">OUTPUT_KEYS</a></span></span><span class='comma'>,</span>
1841
+ <span class='label'>defaults:</span> <span class='id identifier rubyid_output_defaults'>output_defaults</span>
1842
+ <span class='id identifier rubyid_collection'>collection</span><span class='period'>.</span><span class='id identifier rubyid_bind_event'>bind_event</span><span class='lparen'>(</span><span class='symbol'>:before_defaults</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='id identifier rubyid_raw_item'>raw_item</span><span class='op'>|</span>
1843
+ <span class='const'><span class='object_link'><a href="../../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Core.html" title="AeEasy::Core (module)">Core</a></span></span><span class='period'>.</span><span class='id identifier rubyid_deep_stringify_keys'><span class='object_link'><a href="../../Core.html#deep_stringify_keys-class_method" title="AeEasy::Core.deep_stringify_keys (method)">deep_stringify_keys</a></span></span> <span class='id identifier rubyid_raw_item'>raw_item</span>
1844
+ <span class='kw'>end</span>
1845
+ <span class='id identifier rubyid_collection'>collection</span><span class='period'>.</span><span class='id identifier rubyid_bind_event'>bind_event</span><span class='lparen'>(</span><span class='symbol'>:before_insert</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='id identifier rubyid_item'>item</span><span class='comma'>,</span> <span class='id identifier rubyid_match'>match</span><span class='op'>|</span>
1846
+ <span class='id identifier rubyid_item'>item</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>_id</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='id identifier rubyid_generate_output_id'>generate_output_id</span> <span class='id identifier rubyid_item'>item</span>
1847
+ <span class='id identifier rubyid_item'>item</span>
1848
+ <span class='kw'>end</span>
1849
+ <span class='ivar'>@outputs</span> <span class='op'>||=</span> <span class='id identifier rubyid_collection'>collection</span>
1850
+ <span class='kw'>end</span></pre>
1851
+ </td>
1852
+ </tr>
1853
+ </table>
1854
+ </div>
1855
+
1856
+ <div class="method_details ">
1857
+ <h3 class="signature " id="page_defaults-instance_method">
1858
+
1859
+ #<strong>page_defaults</strong> &#x21d2; <tt>Hash</tt>
1860
+
1861
+
1862
+
1863
+
1864
+
1865
+ </h3><div class="docstring">
1866
+ <div class="discussion">
1867
+
1868
+ <p>Get page keys with key generators to emulate saving on db.</p>
1869
+
1870
+
1871
+ </div>
1872
+ </div>
1873
+ <div class="tags">
1874
+
1875
+ <p class="tag_title">Returns:</p>
1876
+ <ul class="return">
1877
+
1878
+ <li>
1879
+
1880
+
1881
+ <span class='type'>(<tt>Hash</tt>)</span>
1882
+
1883
+
1884
+
1885
+ </li>
1886
+
1887
+ </ul>
1888
+
1889
+ </div><table class="source_code">
1890
+ <tr>
1891
+ <td>
1892
+ <pre class="lines">
1893
+
1894
+
1895
+ 144
1896
+ 145
1897
+ 146
1898
+ 147
1899
+ 148
1900
+ 149
1901
+ 150
1902
+ 151
1903
+ 152
1904
+ 153
1905
+ 154
1906
+ 155
1907
+ 156</pre>
1908
+ </td>
1909
+ <td>
1910
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 144</span>
1911
+
1912
+ <span class='kw'>def</span> <span class='id identifier rubyid_page_defaults'>page_defaults</span>
1913
+ <span class='ivar'>@page_keys</span> <span class='op'>||=</span> <span class='lbrace'>{</span>
1914
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>url</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='kw'>nil</span><span class='comma'>,</span>
1915
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>method</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>GET</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1916
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>headers</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span>
1917
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>fetch_type</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>standard</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1918
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>cookie</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='kw'>nil</span><span class='comma'>,</span>
1919
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>no_redirect</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='comma'>,</span>
1920
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>body</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='kw'>nil</span><span class='comma'>,</span>
1921
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>ua_type</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>desktop</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span>
1922
+ <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>vars</span><span class='tstring_end'>&#39;</span></span> <span class='op'>=&gt;</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1923
+ <span class='rbrace'>}</span>
1924
+ <span class='kw'>end</span></pre>
1925
+ </td>
1926
+ </tr>
1927
+ </table>
1928
+ </div>
1929
+
1930
+ <div class="method_details ">
1931
+ <h3 class="signature " id="page_gid-instance_method">
1932
+
1933
+ #<strong>page_gid</strong> &#x21d2; <tt>Integer</tt><sup>?</sup>
1934
+
1935
+
1936
+
1937
+
1938
+
1939
+ </h3><div class="docstring">
1940
+ <div class="discussion">
1941
+
1942
+ <p>Current fake page gid.</p>
1943
+
1944
+
1945
+ </div>
1946
+ </div>
1947
+ <div class="tags">
1948
+
1949
+ <p class="tag_title">Returns:</p>
1950
+ <ul class="return">
1951
+
1952
+ <li>
1953
+
1954
+
1955
+ <span class='type'>(<tt>Integer</tt>, <tt>nil</tt>)</span>
1956
+
1957
+
1958
+
1959
+ </li>
1960
+
1961
+ </ul>
1962
+
1963
+ </div><table class="source_code">
1964
+ <tr>
1965
+ <td>
1966
+ <pre class="lines">
1967
+
1968
+
1969
+ 72
1970
+ 73
1971
+ 74</pre>
1972
+ </td>
1973
+ <td>
1974
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 72</span>
1975
+
1976
+ <span class='kw'>def</span> <span class='id identifier rubyid_page_gid'>page_gid</span>
1977
+ <span class='ivar'>@page_gid</span> <span class='op'>||=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_fake_uuid'>fake_uuid</span>
1978
+ <span class='kw'>end</span></pre>
1979
+ </td>
1980
+ </tr>
1981
+ </table>
1982
+ </div>
1983
+
1984
+ <div class="method_details ">
1985
+ <h3 class="signature " id="page_gid=-instance_method">
1986
+
1987
+ #<strong>page_gid=</strong>(value) &#x21d2; <tt>Object</tt>
1988
+
1989
+
1990
+
1991
+
1992
+
1993
+ </h3><div class="docstring">
1994
+ <div class="discussion">
1995
+
1996
+ <p>Set current fake page gid value.</p>
1997
+
1998
+
1999
+ </div>
2000
+ </div>
2001
+ <div class="tags">
2002
+
2003
+
2004
+ </div><table class="source_code">
2005
+ <tr>
2006
+ <td>
2007
+ <pre class="lines">
2008
+
2009
+
2010
+ 77
2011
+ 78
2012
+ 79</pre>
2013
+ </td>
2014
+ <td>
2015
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 77</span>
2016
+
2017
+ <span class='kw'>def</span> <span class='id identifier rubyid_page_gid='>page_gid=</span> <span class='id identifier rubyid_value'>value</span>
2018
+ <span class='ivar'>@page_gid</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
2019
+ <span class='kw'>end</span></pre>
2020
+ </td>
2021
+ </tr>
2022
+ </table>
2023
+ </div>
2024
+
2025
+ <div class="method_details ">
2026
+ <h3 class="signature " id="pages-instance_method">
2027
+
2028
+ #<strong>pages</strong> &#x21d2; <tt><span class='object_link'><a href="../SmartCollection.html" title="AeEasy::Core::SmartCollection (class)">AeEasy::Core::SmartCollection</a></span></tt>
2029
+
2030
+
2031
+
2032
+
2033
+
2034
+ </h3><div class="docstring">
2035
+ <div class="discussion">
2036
+
2037
+ <div class="note notetag">
2038
+ <strong>Note:</strong>
2039
+ <div class='inline'>
2040
+ <p>Page gid will be replaced on insert by an auto generated uuid unless page
2041
+ gid overriding is enabled (see #allow_page_gid_override?)</p>
2042
+ </div>
2043
+ </div>
2044
+
2045
+
2046
+ <p>Stored page collection.</p>
2047
+
2048
+
2049
+ </div>
2050
+ </div>
2051
+ <div class="tags">
2052
+
2053
+ <p class="tag_title">Returns:</p>
2054
+ <ul class="return">
2055
+
2056
+ <li>
2057
+
2058
+
2059
+ <span class='type'>(<tt><span class='object_link'><a href="../SmartCollection.html" title="AeEasy::Core::SmartCollection (class)">AeEasy::Core::SmartCollection</a></span></tt>)</span>
2060
+
2061
+
2062
+
2063
+ </li>
2064
+
2065
+ </ul>
2066
+
2067
+ </div><table class="source_code">
2068
+ <tr>
2069
+ <td>
2070
+ <pre class="lines">
2071
+
2072
+
2073
+ 165
2074
+ 166
2075
+ 167
2076
+ 168
2077
+ 169
2078
+ 170
2079
+ 171
2080
+ 172
2081
+ 173
2082
+ 174
2083
+ 175
2084
+ 176
2085
+ 177
2086
+ 178
2087
+ 179
2088
+ 180</pre>
2089
+ </td>
2090
+ <td>
2091
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 165</span>
2092
+
2093
+ <span class='kw'>def</span> <span class='id identifier rubyid_pages'>pages</span>
2094
+ <span class='kw'>return</span> <span class='ivar'>@pages</span> <span class='kw'>unless</span> <span class='ivar'>@page</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2095
+
2096
+ <span class='id identifier rubyid_collection'>collection</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_new_collection'>new_collection</span> <span class='const'><span class='object_link'><a href="#PAGE_KEYS-constant" title="AeEasy::Core::Mock::FakeDb::PAGE_KEYS (constant)">PAGE_KEYS</a></span></span><span class='comma'>,</span>
2097
+ <span class='label'>defaults:</span> <span class='id identifier rubyid_page_defaults'>page_defaults</span>
2098
+ <span class='id identifier rubyid_collection'>collection</span><span class='period'>.</span><span class='id identifier rubyid_bind_event'>bind_event</span><span class='lparen'>(</span><span class='symbol'>:before_defaults</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='id identifier rubyid_raw_item'>raw_item</span><span class='op'>|</span>
2099
+ <span class='const'><span class='object_link'><a href="../../../AeEasy.html" title="AeEasy (module)">AeEasy</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../Core.html" title="AeEasy::Core (module)">Core</a></span></span><span class='period'>.</span><span class='id identifier rubyid_deep_stringify_keys'><span class='object_link'><a href="../../Core.html#deep_stringify_keys-class_method" title="AeEasy::Core.deep_stringify_keys (method)">deep_stringify_keys</a></span></span> <span class='id identifier rubyid_raw_item'>raw_item</span>
2100
+ <span class='kw'>end</span>
2101
+ <span class='id identifier rubyid_collection'>collection</span><span class='period'>.</span><span class='id identifier rubyid_bind_event'>bind_event</span><span class='lparen'>(</span><span class='symbol'>:before_insert</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='id identifier rubyid_item'>item</span><span class='comma'>,</span> <span class='id identifier rubyid_match'>match</span><span class='op'>|</span>
2102
+ <span class='kw'>if</span> <span class='id identifier rubyid_item'>item</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>gid</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='op'>!</span><span class='id identifier rubyid_allow_page_gid_override?'>allow_page_gid_override?</span>
2103
+ <span class='id identifier rubyid_item'>item</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>gid</span><span class='tstring_end'>&#39;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_generate_page_gid'>generate_page_gid</span> <span class='id identifier rubyid_item'>item</span>
2104
+ <span class='kw'>end</span>
2105
+ <span class='id identifier rubyid_item'>item</span>
2106
+ <span class='kw'>end</span>
2107
+ <span class='ivar'>@pages</span> <span class='op'>||=</span> <span class='id identifier rubyid_collection'>collection</span>
2108
+ <span class='kw'>end</span></pre>
2109
+ </td>
2110
+ </tr>
2111
+ </table>
2112
+ </div>
2113
+
2114
+ <div class="method_details ">
2115
+ <h3 class="signature " id="query-instance_method">
2116
+
2117
+ #<strong>query</strong>(collection, filter, offset = 0, limit = nil) &#x21d2; <tt>Object</tt>
2118
+
2119
+
2120
+
2121
+
2122
+
2123
+ </h3><div class="docstring">
2124
+ <div class="discussion">
2125
+
2126
+ <div class="note notetag">
2127
+ <strong>Note:</strong>
2128
+ <div class='inline'>
2129
+ <p><em>Warning:</em> It uses table scan to filter and should be used on test
2130
+ suites only.</p>
2131
+ </div>
2132
+ </div>
2133
+
2134
+
2135
+ <p>Search items from a collection.</p>
2136
+
2137
+
2138
+ </div>
2139
+ </div>
2140
+ <div class="tags">
2141
+ <p class="tag_title">Parameters:</p>
2142
+ <ul class="param">
2143
+
2144
+ <li>
2145
+
2146
+ <span class='name'>collection</span>
2147
+
2148
+
2149
+ <span class='type'>(<tt>Symbol</tt>)</span>
2150
+
2151
+
2152
+
2153
+ &mdash;
2154
+ <div class='inline'>
2155
+ <p>Allowed values: `:outputs`, `:pages`.</p>
2156
+ </div>
2157
+
2158
+ </li>
2159
+
2160
+ <li>
2161
+
2162
+ <span class='name'>filter</span>
2163
+
2164
+
2165
+ <span class='type'>(<tt>Hash</tt>)</span>
2166
+
2167
+
2168
+
2169
+ &mdash;
2170
+ <div class='inline'>
2171
+ <p>Filters to query.</p>
2172
+ </div>
2173
+
2174
+ </li>
2175
+
2176
+ <li>
2177
+
2178
+ <span class='name'>offset</span>
2179
+
2180
+
2181
+ <span class='type'>(<tt>Integer</tt>)</span>
2182
+
2183
+
2184
+ <em class="default">(defaults to: <tt>0</tt>)</em>
2185
+
2186
+
2187
+ &mdash;
2188
+ <div class='inline'>
2189
+ <p>(0) Search results offset.</p>
2190
+ </div>
2191
+
2192
+ </li>
2193
+
2194
+ <li>
2195
+
2196
+ <span class='name'>limit</span>
2197
+
2198
+
2199
+ <span class='type'>(<tt>Integer|nil</tt>)</span>
2200
+
2201
+
2202
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
2203
+
2204
+
2205
+ &mdash;
2206
+ <div class='inline'>
2207
+ <p>(nil) Limit search results count. Set to `nil` for unlimited.</p>
2208
+ </div>
2209
+
2210
+ </li>
2211
+
2212
+ </ul>
2213
+
2214
+ <p class="tag_title">Raises:</p>
2215
+ <ul class="raise">
2216
+
2217
+ <li>
2218
+
2219
+
2220
+ <span class='type'></span>
2221
+
2222
+
2223
+
2224
+
2225
+ <div class='inline'>
2226
+ <p>ArgumentError On unknown collection.</p>
2227
+ </div>
2228
+
2229
+ </li>
2230
+
2231
+ </ul>
2232
+
2233
+ </div><table class="source_code">
2234
+ <tr>
2235
+ <td>
2236
+ <pre class="lines">
2237
+
2238
+
2239
+ 249
2240
+ 250
2241
+ 251
2242
+ 252
2243
+ 253
2244
+ 254
2245
+ 255
2246
+ 256
2247
+ 257
2248
+ 258
2249
+ 259
2250
+ 260
2251
+ 261
2252
+ 262
2253
+ 263
2254
+ 264
2255
+ 265
2256
+ 266
2257
+ 267
2258
+ 268
2259
+ 269
2260
+ 270
2261
+ 271
2262
+ 272
2263
+ 273
2264
+ 274
2265
+ 275
2266
+ 276</pre>
2267
+ </td>
2268
+ <td>
2269
+ <pre class="code"><span class="info file"># File 'lib/ae_easy/core/mock/fake_db.rb', line 249</span>
2270
+
2271
+ <span class='kw'>def</span> <span class='id identifier rubyid_query'>query</span> <span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='id identifier rubyid_filter'>filter</span><span class='comma'>,</span> <span class='id identifier rubyid_offset'>offset</span> <span class='op'>=</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_limit'>limit</span> <span class='op'>=</span> <span class='kw'>nil</span>
2272
+ <span class='kw'>return</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_limit'>limit</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_limit'>limit</span> <span class='op'>&gt;</span> <span class='int'>0</span>
2273
+
2274
+ <span class='comment'># Get collection items
2275
+ </span> <span class='id identifier rubyid_items'>items</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_collection'>collection</span>
2276
+ <span class='kw'>when</span> <span class='symbol'>:outputs</span>
2277
+ <span class='id identifier rubyid_outputs'>outputs</span>
2278
+ <span class='kw'>when</span> <span class='symbol'>:pages</span>
2279
+ <span class='id identifier rubyid_pages'>pages</span>
2280
+ <span class='kw'>else</span>
2281
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unknown collection </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_collection'>collection</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span>
2282
+ <span class='kw'>end</span>
2283
+
2284
+ <span class='comment'># Search items
2285
+ </span> <span class='id identifier rubyid_count'>count</span> <span class='op'>=</span> <span class='int'>0</span>
2286
+ <span class='id identifier rubyid_matches'>matches</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
2287
+ <span class='id identifier rubyid_items'>items</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_item'>item</span><span class='op'>|</span>
2288
+ <span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_match?'>match?</span> <span class='id identifier rubyid_item'>item</span><span class='comma'>,</span> <span class='id identifier rubyid_filter'>filter</span>
2289
+ <span class='id identifier rubyid_count'>count</span> <span class='op'>+=</span> <span class='int'>1</span>
2290
+
2291
+ <span class='comment'># Skip until offset
2292
+ </span> <span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_offset'>offset</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_count'>count</span>
2293
+ <span class='comment'># Break on limit reach
2294
+ </span> <span class='kw'>break</span> <span class='kw'>unless</span> <span class='id identifier rubyid_limit'>limit</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>||</span> <span class='id identifier rubyid_matches'>matches</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_limit'>limit</span>
2295
+ <span class='id identifier rubyid_matches'>matches</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_item'>item</span>
2296
+ <span class='kw'>end</span>
2297
+ <span class='id identifier rubyid_matches'>matches</span>
2298
+ <span class='kw'>end</span></pre>
2299
+ </td>
2300
+ </tr>
2301
+ </table>
2302
+ </div>
2303
+
2304
+ </div>
2305
+
2306
+ </div>
2307
+
2308
+ <div id="footer">
2309
+ Generated on Wed Feb 13 21:43:51 2019 by
2310
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2311
+ 0.9.18 (ruby-2.5.3).
2312
+ </div>
2313
+
2314
+ </div>
2315
+ </body>
2316
+ </html>