ae_easy-core 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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>