hyper-resource 1.0.0.lap79 → 1.0.0.lap80

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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/.yardopts +1 -0
  4. data/API.md +62 -0
  5. data/Gemfile +2 -0
  6. data/JSON_format.md +62 -0
  7. data/PubSub.md +20 -0
  8. data/README.md +2 -0
  9. data/Security.md +0 -0
  10. data/docs/HyperRecord/ClassMethods.html +2969 -0
  11. data/docs/HyperRecord/ClientInstanceMethods.html +1833 -0
  12. data/docs/HyperRecord/Collection.html +564 -0
  13. data/docs/HyperRecord/DummyValue.html +384 -0
  14. data/docs/HyperRecord/PubSub/ClassMethods.html +2047 -0
  15. data/docs/HyperRecord/PubSub.html +1679 -0
  16. data/docs/HyperRecord/ServerClassMethods.html +697 -0
  17. data/docs/HyperRecord.html +119 -0
  18. data/docs/Hyperloop/Resource/ClientDrivers.html +352 -0
  19. data/docs/Hyperloop/Resource/HTTP.html +1795 -0
  20. data/docs/Hyperloop/Resource/MethodsController.html +479 -0
  21. data/docs/Hyperloop/Resource/PropertiesController.html +225 -0
  22. data/docs/Hyperloop/Resource/PubSub/ClassMethods.html +105 -0
  23. data/docs/Hyperloop/Resource/PubSub.html +1210 -0
  24. data/docs/Hyperloop/Resource/RelationsController.html +529 -0
  25. data/docs/Hyperloop/Resource/ScopesController.html +380 -0
  26. data/docs/Hyperloop/Resource/SecurityError.html +124 -0
  27. data/docs/Hyperloop/Resource/SecurityGuards/ClassMethods.html +226 -0
  28. data/docs/Hyperloop/Resource/SecurityGuards.html +299 -0
  29. data/docs/Hyperloop/Resource.html +135 -0
  30. data/docs/Hyperloop.html +186 -0
  31. data/docs/_index.html +302 -0
  32. data/docs/class_list.html +51 -0
  33. data/docs/css/common.css +1 -0
  34. data/docs/css/full_list.css +58 -0
  35. data/docs/css/style.css +496 -0
  36. data/docs/file.API.html +138 -0
  37. data/docs/file.JSON_format.html +134 -0
  38. data/docs/file.PubSub.html +86 -0
  39. data/docs/file.README.html +192 -0
  40. data/docs/file_list.html +71 -0
  41. data/docs/frames.html +17 -0
  42. data/docs/index.html +192 -0
  43. data/docs/js/app.js +292 -0
  44. data/docs/js/full_list.js +216 -0
  45. data/docs/js/jquery.js +4 -0
  46. data/docs/method_list.html +1115 -0
  47. data/docs/top-level-namespace.html +110 -0
  48. data/hyper-resource.gemspec +19 -18
  49. data/lib/hyper_record/class_methods.rb +186 -3
  50. data/lib/hyper_record/client_instance_methods.rb +68 -3
  51. data/lib/hyper_record/collection.rb +19 -4
  52. data/lib/hyper_record/pub_sub.rb +92 -12
  53. data/lib/hyper_record/server_class_methods.rb +15 -0
  54. data/lib/hyperloop/resource/client_drivers.rb +2 -0
  55. data/lib/hyperloop/resource/http.rb +33 -22
  56. data/lib/hyperloop/resource/pub_sub.rb +2 -0
  57. data/lib/hyperloop/resource/version.rb +1 -1
  58. metadata +61 -2
@@ -0,0 +1,1210 @@
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: Hyperloop::Resource::PubSub
8
+
9
+ &mdash; Documentation by YARD 0.9.13
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 = "Hyperloop::Resource::PubSub";
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 (P)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Resource.html" title="Hyperloop::Resource (module)">Resource</a></span></span>
41
+ &raquo;
42
+ <span class="title">PubSub</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: Hyperloop::Resource::PubSub
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/hyperloop/resource/pub_sub.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Defined Under Namespace</h2>
87
+ <p class="children">
88
+
89
+
90
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="PubSub/ClassMethods.html" title="Hyperloop::Resource::PubSub::ClassMethods (module)">ClassMethods</a></span>
91
+
92
+
93
+
94
+
95
+ </p>
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+ <h2>
105
+ Instance Method Summary
106
+ <small><a href="#" class="summary_toggle">collapse</a></small>
107
+ </h2>
108
+
109
+ <ul class="summary">
110
+
111
+ <li class="public ">
112
+ <span class="summary_signature">
113
+
114
+ <a href="#pub_sub_record-instance_method" title="#pub_sub_record (instance method)">#<strong>pub_sub_record</strong>(record) &#x21d2; Object </a>
115
+
116
+
117
+
118
+ </span>
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+ <span class="summary_desc"><div class='inline'></div></span>
129
+
130
+ </li>
131
+
132
+
133
+ <li class="public ">
134
+ <span class="summary_signature">
135
+
136
+ <a href="#pub_sub_relation-instance_method" title="#pub_sub_relation (instance method)">#<strong>pub_sub_relation</strong>(relation, base_record, relation_name, causing_record = nil) &#x21d2; Object </a>
137
+
138
+
139
+
140
+ </span>
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
+ <span class="summary_desc"><div class='inline'></div></span>
151
+
152
+ </li>
153
+
154
+
155
+ <li class="public ">
156
+ <span class="summary_signature">
157
+
158
+ <a href="#pub_sub_rest_class_method-instance_method" title="#pub_sub_rest_class_method (instance method)">#<strong>pub_sub_rest_class_method</strong>(record_class, rest_class_method_name) &#x21d2; Object </a>
159
+
160
+
161
+
162
+ </span>
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+ <span class="summary_desc"><div class='inline'></div></span>
173
+
174
+ </li>
175
+
176
+
177
+ <li class="public ">
178
+ <span class="summary_signature">
179
+
180
+ <a href="#pub_sub_rest_method-instance_method" title="#pub_sub_rest_method (instance method)">#<strong>pub_sub_rest_method</strong>(record, rest_method_name) &#x21d2; Object </a>
181
+
182
+
183
+
184
+ </span>
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+ <span class="summary_desc"><div class='inline'></div></span>
195
+
196
+ </li>
197
+
198
+
199
+ <li class="public ">
200
+ <span class="summary_signature">
201
+
202
+ <a href="#pub_sub_scope-instance_method" title="#pub_sub_scope (instance method)">#<strong>pub_sub_scope</strong>(collection, record_class, scope_name) &#x21d2; Object </a>
203
+
204
+
205
+
206
+ </span>
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+ <span class="summary_desc"><div class='inline'></div></span>
217
+
218
+ </li>
219
+
220
+
221
+ <li class="public ">
222
+ <span class="summary_signature">
223
+
224
+ <a href="#publish_record-instance_method" title="#publish_record (instance method)">#<strong>publish_record</strong>(record) &#x21d2; Object </a>
225
+
226
+
227
+
228
+ </span>
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+
238
+ <span class="summary_desc"><div class='inline'></div></span>
239
+
240
+ </li>
241
+
242
+
243
+ <li class="public ">
244
+ <span class="summary_signature">
245
+
246
+ <a href="#publish_relation-instance_method" title="#publish_relation (instance method)">#<strong>publish_relation</strong>(base_record, relation_name, record = nil) &#x21d2; Object </a>
247
+
248
+
249
+
250
+ </span>
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+ <span class="summary_desc"><div class='inline'></div></span>
261
+
262
+ </li>
263
+
264
+
265
+ <li class="public ">
266
+ <span class="summary_signature">
267
+
268
+ <a href="#publish_rest_class_method-instance_method" title="#publish_rest_class_method (instance method)">#<strong>publish_rest_class_method</strong>(record_class, rest_class_method_name) &#x21d2; Object </a>
269
+
270
+
271
+
272
+ </span>
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+ <span class="summary_desc"><div class='inline'></div></span>
283
+
284
+ </li>
285
+
286
+
287
+ <li class="public ">
288
+ <span class="summary_signature">
289
+
290
+ <a href="#publish_rest_method-instance_method" title="#publish_rest_method (instance method)">#<strong>publish_rest_method</strong>(record, method_name) &#x21d2; Object </a>
291
+
292
+
293
+
294
+ </span>
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+ <span class="summary_desc"><div class='inline'></div></span>
305
+
306
+ </li>
307
+
308
+
309
+ <li class="public ">
310
+ <span class="summary_signature">
311
+
312
+ <a href="#publish_scope-instance_method" title="#publish_scope (instance method)">#<strong>publish_scope</strong>(record_class, scope_name) &#x21d2; Object </a>
313
+
314
+
315
+
316
+ </span>
317
+
318
+
319
+
320
+
321
+
322
+
323
+
324
+
325
+
326
+ <span class="summary_desc"><div class='inline'></div></span>
327
+
328
+ </li>
329
+
330
+
331
+ <li class="public ">
332
+ <span class="summary_signature">
333
+
334
+ <a href="#subscribe_record-instance_method" title="#subscribe_record (instance method)">#<strong>subscribe_record</strong>(record) &#x21d2; Object </a>
335
+
336
+
337
+
338
+ </span>
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+ <span class="summary_desc"><div class='inline'></div></span>
349
+
350
+ </li>
351
+
352
+
353
+ <li class="public ">
354
+ <span class="summary_signature">
355
+
356
+ <a href="#subscribe_relation-instance_method" title="#subscribe_relation (instance method)">#<strong>subscribe_relation</strong>(relation, base_record = nil, relation_name = nil) &#x21d2; Object </a>
357
+
358
+
359
+
360
+ </span>
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+
369
+
370
+ <span class="summary_desc"><div class='inline'></div></span>
371
+
372
+ </li>
373
+
374
+
375
+ <li class="public ">
376
+ <span class="summary_signature">
377
+
378
+ <a href="#subscribe_rest_class_method-instance_method" title="#subscribe_rest_class_method (instance method)">#<strong>subscribe_rest_class_method</strong>(record_class, rest_class_method_name) &#x21d2; Object </a>
379
+
380
+
381
+
382
+ </span>
383
+
384
+
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+ <span class="summary_desc"><div class='inline'></div></span>
393
+
394
+ </li>
395
+
396
+
397
+ <li class="public ">
398
+ <span class="summary_signature">
399
+
400
+ <a href="#subscribe_rest_method-instance_method" title="#subscribe_rest_method (instance method)">#<strong>subscribe_rest_method</strong>(record, rest_method_name) &#x21d2; Object </a>
401
+
402
+
403
+
404
+ </span>
405
+
406
+
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+ <span class="summary_desc"><div class='inline'></div></span>
415
+
416
+ </li>
417
+
418
+
419
+ <li class="public ">
420
+ <span class="summary_signature">
421
+
422
+ <a href="#subscribe_scope-instance_method" title="#subscribe_scope (instance method)">#<strong>subscribe_scope</strong>(collection, record_class = nil, scope_name = nil) &#x21d2; Object </a>
423
+
424
+
425
+
426
+ </span>
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+ <span class="summary_desc"><div class='inline'></div></span>
437
+
438
+ </li>
439
+
440
+
441
+ </ul>
442
+
443
+
444
+
445
+
446
+ <div id="instance_method_details" class="method_details_list">
447
+ <h2>Instance Method Details</h2>
448
+
449
+
450
+ <div class="method_details first">
451
+ <h3 class="signature first" id="pub_sub_record-instance_method">
452
+
453
+ #<strong>pub_sub_record</strong>(record) &#x21d2; <tt>Object</tt>
454
+
455
+
456
+
457
+
458
+
459
+ </h3><table class="source_code">
460
+ <tr>
461
+ <td>
462
+ <pre class="lines">
463
+
464
+
465
+ 205
466
+ 206
467
+ 207
468
+ 208</pre>
469
+ </td>
470
+ <td>
471
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 205</span>
472
+
473
+ <span class='kw'>def</span> <span class='id identifier rubyid_pub_sub_record'>pub_sub_record</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='rparen'>)</span>
474
+ <span class='id identifier rubyid_subscribe_record'>subscribe_record</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='rparen'>)</span>
475
+ <span class='id identifier rubyid_publish_record'>publish_record</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='rparen'>)</span>
476
+ <span class='kw'>end</span></pre>
477
+ </td>
478
+ </tr>
479
+ </table>
480
+ </div>
481
+
482
+ <div class="method_details ">
483
+ <h3 class="signature " id="pub_sub_relation-instance_method">
484
+
485
+ #<strong>pub_sub_relation</strong>(relation, base_record, relation_name, causing_record = nil) &#x21d2; <tt>Object</tt>
486
+
487
+
488
+
489
+
490
+
491
+ </h3><table class="source_code">
492
+ <tr>
493
+ <td>
494
+ <pre class="lines">
495
+
496
+
497
+ 210
498
+ 211
499
+ 212
500
+ 213</pre>
501
+ </td>
502
+ <td>
503
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 210</span>
504
+
505
+ <span class='kw'>def</span> <span class='id identifier rubyid_pub_sub_relation'>pub_sub_relation</span><span class='lparen'>(</span><span class='id identifier rubyid_relation'>relation</span><span class='comma'>,</span> <span class='id identifier rubyid_base_record'>base_record</span><span class='comma'>,</span> <span class='id identifier rubyid_relation_name'>relation_name</span><span class='comma'>,</span> <span class='id identifier rubyid_causing_record'>causing_record</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
506
+ <span class='id identifier rubyid_subscribe_relation'>subscribe_relation</span><span class='lparen'>(</span><span class='id identifier rubyid_relation'>relation</span><span class='comma'>,</span> <span class='id identifier rubyid_base_record'>base_record</span><span class='comma'>,</span> <span class='id identifier rubyid_relation_name'>relation_name</span><span class='rparen'>)</span>
507
+ <span class='id identifier rubyid_publish_relation'>publish_relation</span><span class='lparen'>(</span><span class='id identifier rubyid_base_record'>base_record</span><span class='comma'>,</span> <span class='id identifier rubyid_relation_name'>relation_name</span><span class='comma'>,</span> <span class='id identifier rubyid_causing_record'>causing_record</span><span class='rparen'>)</span>
508
+ <span class='kw'>end</span></pre>
509
+ </td>
510
+ </tr>
511
+ </table>
512
+ </div>
513
+
514
+ <div class="method_details ">
515
+ <h3 class="signature " id="pub_sub_rest_class_method-instance_method">
516
+
517
+ #<strong>pub_sub_rest_class_method</strong>(record_class, rest_class_method_name) &#x21d2; <tt>Object</tt>
518
+
519
+
520
+
521
+
522
+
523
+ </h3><table class="source_code">
524
+ <tr>
525
+ <td>
526
+ <pre class="lines">
527
+
528
+
529
+ 215
530
+ 216
531
+ 217
532
+ 218</pre>
533
+ </td>
534
+ <td>
535
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 215</span>
536
+
537
+ <span class='kw'>def</span> <span class='id identifier rubyid_pub_sub_rest_class_method'>pub_sub_rest_class_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span><span class='rparen'>)</span>
538
+ <span class='id identifier rubyid_subscribe_rest_class_method'>subscribe_rest_class_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span><span class='rparen'>)</span>
539
+ <span class='id identifier rubyid_publish_rest_class_method'>publish_rest_class_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span><span class='rparen'>)</span>
540
+ <span class='kw'>end</span></pre>
541
+ </td>
542
+ </tr>
543
+ </table>
544
+ </div>
545
+
546
+ <div class="method_details ">
547
+ <h3 class="signature " id="pub_sub_rest_method-instance_method">
548
+
549
+ #<strong>pub_sub_rest_method</strong>(record, rest_method_name) &#x21d2; <tt>Object</tt>
550
+
551
+
552
+
553
+
554
+
555
+ </h3><table class="source_code">
556
+ <tr>
557
+ <td>
558
+ <pre class="lines">
559
+
560
+
561
+ 220
562
+ 221
563
+ 222
564
+ 223</pre>
565
+ </td>
566
+ <td>
567
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 220</span>
568
+
569
+ <span class='kw'>def</span> <span class='id identifier rubyid_pub_sub_rest_method'>pub_sub_rest_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_method_name'>rest_method_name</span><span class='rparen'>)</span>
570
+ <span class='id identifier rubyid_subscribe_rest_method'>subscribe_rest_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_method_name'>rest_method_name</span><span class='rparen'>)</span>
571
+ <span class='id identifier rubyid_publish_rest_method'>publish_rest_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_method_name'>rest_method_name</span><span class='rparen'>)</span>
572
+ <span class='kw'>end</span></pre>
573
+ </td>
574
+ </tr>
575
+ </table>
576
+ </div>
577
+
578
+ <div class="method_details ">
579
+ <h3 class="signature " id="pub_sub_scope-instance_method">
580
+
581
+ #<strong>pub_sub_scope</strong>(collection, record_class, scope_name) &#x21d2; <tt>Object</tt>
582
+
583
+
584
+
585
+
586
+
587
+ </h3><table class="source_code">
588
+ <tr>
589
+ <td>
590
+ <pre class="lines">
591
+
592
+
593
+ 225
594
+ 226
595
+ 227
596
+ 228</pre>
597
+ </td>
598
+ <td>
599
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 225</span>
600
+
601
+ <span class='kw'>def</span> <span class='id identifier rubyid_pub_sub_scope'>pub_sub_scope</span><span class='lparen'>(</span><span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_scope_name'>scope_name</span><span class='rparen'>)</span>
602
+ <span class='id identifier rubyid_subscribe_scope'>subscribe_scope</span><span class='lparen'>(</span><span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_scope_name'>scope_name</span><span class='rparen'>)</span>
603
+ <span class='id identifier rubyid_publish_scope'>publish_scope</span><span class='lparen'>(</span><span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_scope_name'>scope_name</span><span class='rparen'>)</span>
604
+ <span class='kw'>end</span></pre>
605
+ </td>
606
+ </tr>
607
+ </table>
608
+ </div>
609
+
610
+ <div class="method_details ">
611
+ <h3 class="signature " id="publish_record-instance_method">
612
+
613
+ #<strong>publish_record</strong>(record) &#x21d2; <tt>Object</tt>
614
+
615
+
616
+
617
+
618
+
619
+ </h3><table class="source_code">
620
+ <tr>
621
+ <td>
622
+ <pre class="lines">
623
+
624
+
625
+ 21
626
+ 22
627
+ 23
628
+ 24
629
+ 25
630
+ 26
631
+ 27
632
+ 28
633
+ 29
634
+ 30
635
+ 31
636
+ 32
637
+ 33
638
+ 34
639
+ 35
640
+ 36
641
+ 37
642
+ 38
643
+ 39
644
+ 40
645
+ 41
646
+ 42
647
+ 43
648
+ 44
649
+ 45
650
+ 46
651
+ 47
652
+ 48</pre>
653
+ </td>
654
+ <td>
655
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 21</span>
656
+
657
+ <span class='kw'>def</span> <span class='id identifier rubyid_publish_record'>publish_record</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='rparen'>)</span>
658
+ <span class='id identifier rubyid_subscribers'>subscribers</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hgetall'>hgetall</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
659
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
660
+ <span class='id identifier rubyid_scrub_time'>scrub_time</span> <span class='op'>=</span> <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>-</span> <span class='int'>24</span><span class='period'>.</span><span class='id identifier rubyid_hours'>hours</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
661
+
662
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
663
+ <span class='label'>record_type:</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span>
664
+ <span class='label'>id:</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span>
665
+ <span class='label'>updated_at:</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_updated_at'>updated_at</span>
666
+ <span class='rbrace'>}</span>
667
+ <span class='id identifier rubyid_message'>message</span><span class='lbracket'>[</span><span class='symbol'>:destroyed</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_destroyed?'>destroyed?</span>
668
+
669
+ <span class='comment'># can only trigger to max 10 channels at once on pusher
670
+ </span> <span class='id identifier rubyid_subscribers'>subscribers</span><span class='period'>.</span><span class='id identifier rubyid_each_slice'>each_slice</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_slice'>slice</span><span class='op'>|</span>
671
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
672
+ <span class='id identifier rubyid_slice'>slice</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_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='op'>|</span>
673
+ <span class='kw'>if</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
674
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hdel'>hdel</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
675
+ <span class='kw'>next</span>
676
+ <span class='kw'>end</span>
677
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>hyper-record-update-channel-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_session_id'>session_id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
678
+ <span class='kw'>end</span>
679
+ <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_resource_transport'>resource_transport</span> <span class='op'>==</span> <span class='symbol'>:pusher</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_channel_array'>channel_array</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span> <span class='op'>&gt;</span> <span class='int'>0</span>
680
+ <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__pusher_client'>_pusher_client</span><span class='period'>.</span><span class='id identifier rubyid_trigger_async'>trigger_async</span><span class='lparen'>(</span><span class='id identifier rubyid_channel_array'>channel_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>update</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
681
+ <span class='kw'>end</span>
682
+ <span class='kw'>end</span>
683
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_del'>del</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_destroyed?'>destroyed?</span>
684
+ <span class='kw'>end</span></pre>
685
+ </td>
686
+ </tr>
687
+ </table>
688
+ </div>
689
+
690
+ <div class="method_details ">
691
+ <h3 class="signature " id="publish_relation-instance_method">
692
+
693
+ #<strong>publish_relation</strong>(base_record, relation_name, record = nil) &#x21d2; <tt>Object</tt>
694
+
695
+
696
+
697
+
698
+
699
+ </h3><table class="source_code">
700
+ <tr>
701
+ <td>
702
+ <pre class="lines">
703
+
704
+
705
+ 50
706
+ 51
707
+ 52
708
+ 53
709
+ 54
710
+ 55
711
+ 56
712
+ 57
713
+ 58
714
+ 59
715
+ 60
716
+ 61
717
+ 62
718
+ 63
719
+ 64
720
+ 65
721
+ 66
722
+ 67
723
+ 68
724
+ 69
725
+ 70
726
+ 71
727
+ 72
728
+ 73
729
+ 74
730
+ 75
731
+ 76
732
+ 77
733
+ 78
734
+ 79
735
+ 80</pre>
736
+ </td>
737
+ <td>
738
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 50</span>
739
+
740
+ <span class='kw'>def</span> <span class='id identifier rubyid_publish_relation'>publish_relation</span><span class='lparen'>(</span><span class='id identifier rubyid_base_record'>base_record</span><span class='comma'>,</span> <span class='id identifier rubyid_relation_name'>relation_name</span><span class='comma'>,</span> <span class='id identifier rubyid_record'>record</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
741
+ <span class='id identifier rubyid_subscribers'>subscribers</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hgetall'>hgetall</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
742
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
743
+ <span class='id identifier rubyid_scrub_time'>scrub_time</span> <span class='op'>=</span> <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>-</span> <span class='int'>24</span><span class='period'>.</span><span class='id identifier rubyid_hours'>hours</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
744
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
745
+ <span class='label'>record_type:</span> <span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span>
746
+ <span class='label'>id:</span> <span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span>
747
+ <span class='label'>updated_at:</span> <span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_updated_at'>updated_at</span><span class='comma'>,</span>
748
+ <span class='label'>relation:</span> <span class='id identifier rubyid_relation_name'>relation_name</span>
749
+ <span class='rbrace'>}</span>
750
+ <span class='kw'>if</span> <span class='id identifier rubyid_record'>record</span>
751
+ <span class='id identifier rubyid_message'>message</span><span class='lbracket'>[</span><span class='symbol'>:cause</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
752
+ <span class='id identifier rubyid_message'>message</span><span class='lbracket'>[</span><span class='symbol'>:cause</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:record_type</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
753
+ <span class='id identifier rubyid_message'>message</span><span class='lbracket'>[</span><span class='symbol'>:cause</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span>
754
+ <span class='id identifier rubyid_message'>message</span><span class='lbracket'>[</span><span class='symbol'>:cause</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:updated_at</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_updated_at'>updated_at</span>
755
+ <span class='id identifier rubyid_message'>message</span><span class='lbracket'>[</span><span class='symbol'>:cause</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:destroyed</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_destroyed?'>destroyed?</span>
756
+ <span class='kw'>end</span>
757
+ <span class='id identifier rubyid_subscribers'>subscribers</span><span class='period'>.</span><span class='id identifier rubyid_each_slice'>each_slice</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_slice'>slice</span><span class='op'>|</span>
758
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
759
+ <span class='id identifier rubyid_slice'>slice</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_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='op'>|</span>
760
+ <span class='kw'>if</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
761
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hdel'>hdel</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
762
+ <span class='kw'>next</span>
763
+ <span class='kw'>end</span>
764
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>hyper-record-update-channel-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_session_id'>session_id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
765
+ <span class='kw'>end</span>
766
+ <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_resource_transport'>resource_transport</span> <span class='op'>==</span> <span class='symbol'>:pusher</span>
767
+ <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__pusher_client'>_pusher_client</span><span class='period'>.</span><span class='id identifier rubyid_trigger_async'>trigger_async</span><span class='lparen'>(</span><span class='id identifier rubyid_channel_array'>channel_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>update</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
768
+ <span class='kw'>end</span>
769
+ <span class='kw'>end</span>
770
+ <span class='kw'>end</span></pre>
771
+ </td>
772
+ </tr>
773
+ </table>
774
+ </div>
775
+
776
+ <div class="method_details ">
777
+ <h3 class="signature " id="publish_rest_class_method-instance_method">
778
+
779
+ #<strong>publish_rest_class_method</strong>(record_class, rest_class_method_name) &#x21d2; <tt>Object</tt>
780
+
781
+
782
+
783
+
784
+
785
+ </h3><table class="source_code">
786
+ <tr>
787
+ <td>
788
+ <pre class="lines">
789
+
790
+
791
+ 82
792
+ 83
793
+ 84
794
+ 85
795
+ 86
796
+ 87
797
+ 88
798
+ 89
799
+ 90
800
+ 91
801
+ 92
802
+ 93
803
+ 94
804
+ 95
805
+ 96
806
+ 97
807
+ 98
808
+ 99
809
+ 100
810
+ 101
811
+ 102
812
+ 103</pre>
813
+ </td>
814
+ <td>
815
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 82</span>
816
+
817
+ <span class='kw'>def</span> <span class='id identifier rubyid_publish_rest_class_method'>publish_rest_class_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span><span class='rparen'>)</span>
818
+ <span class='id identifier rubyid_subscribers'>subscribers</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hgetall'>hgetall</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record_class'>record_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__rest_class_method__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
819
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
820
+ <span class='id identifier rubyid_scrub_time'>scrub_time</span> <span class='op'>=</span> <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>-</span> <span class='int'>24</span><span class='period'>.</span><span class='id identifier rubyid_hours'>hours</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
821
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
822
+ <span class='label'>record_type:</span> <span class='id identifier rubyid_record_class'>record_class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span>
823
+ <span class='label'>rest_class_method:</span> <span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span>
824
+ <span class='rbrace'>}</span>
825
+ <span class='id identifier rubyid_subscribers'>subscribers</span><span class='period'>.</span><span class='id identifier rubyid_each_slice'>each_slice</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_slice'>slice</span><span class='op'>|</span>
826
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
827
+ <span class='id identifier rubyid_slice'>slice</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_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='op'>|</span>
828
+ <span class='kw'>if</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
829
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hdel'>hdel</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record_class'>record_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__rest_class_method__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
830
+ <span class='kw'>next</span>
831
+ <span class='kw'>end</span>
832
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>hyper-record-update-channel-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_session_id'>session_id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
833
+ <span class='kw'>end</span>
834
+ <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_resource_transport'>resource_transport</span> <span class='op'>==</span> <span class='symbol'>:pusher</span>
835
+ <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__pusher_client'>_pusher_client</span><span class='period'>.</span><span class='id identifier rubyid_trigger_async'>trigger_async</span><span class='lparen'>(</span><span class='id identifier rubyid_channel_array'>channel_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>update</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
836
+ <span class='kw'>end</span>
837
+ <span class='kw'>end</span>
838
+ <span class='kw'>end</span></pre>
839
+ </td>
840
+ </tr>
841
+ </table>
842
+ </div>
843
+
844
+ <div class="method_details ">
845
+ <h3 class="signature " id="publish_rest_method-instance_method">
846
+
847
+ #<strong>publish_rest_method</strong>(record, method_name) &#x21d2; <tt>Object</tt>
848
+
849
+
850
+
851
+
852
+
853
+ </h3><table class="source_code">
854
+ <tr>
855
+ <td>
856
+ <pre class="lines">
857
+
858
+
859
+ 105
860
+ 106
861
+ 107
862
+ 108
863
+ 109
864
+ 110
865
+ 111
866
+ 112
867
+ 113
868
+ 114
869
+ 115
870
+ 116
871
+ 117
872
+ 118
873
+ 119
874
+ 120
875
+ 121
876
+ 122
877
+ 123
878
+ 124
879
+ 125
880
+ 126
881
+ 127</pre>
882
+ </td>
883
+ <td>
884
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 105</span>
885
+
886
+ <span class='kw'>def</span> <span class='id identifier rubyid_publish_rest_method'>publish_rest_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='comma'>,</span> <span class='id identifier rubyid_method_name'>method_name</span><span class='rparen'>)</span>
887
+ <span class='id identifier rubyid_subscribers'>subscribers</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hgetall'>hgetall</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>__rest_method__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_method_name'>method_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
888
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
889
+ <span class='id identifier rubyid_scrub_time'>scrub_time</span> <span class='op'>=</span> <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>-</span> <span class='int'>24</span><span class='period'>.</span><span class='id identifier rubyid_hours'>hours</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
890
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
891
+ <span class='label'>record_type:</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span>
892
+ <span class='label'>id:</span> <span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='comma'>,</span>
893
+ <span class='label'>rest_method:</span> <span class='id identifier rubyid_method_name'>method_name</span>
894
+ <span class='rbrace'>}</span>
895
+ <span class='id identifier rubyid_subscribers'>subscribers</span><span class='period'>.</span><span class='id identifier rubyid_each_slice'>each_slice</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_slice'>slice</span><span class='op'>|</span>
896
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
897
+ <span class='id identifier rubyid_slice'>slice</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_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='op'>|</span>
898
+ <span class='kw'>if</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
899
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hdel'>hdel</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>__rest_method__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_method_name'>method_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
900
+ <span class='kw'>next</span>
901
+ <span class='kw'>end</span>
902
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>hyper-record-update-channel-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_session_id'>session_id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
903
+ <span class='kw'>end</span>
904
+ <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_resource_transport'>resource_transport</span> <span class='op'>==</span> <span class='symbol'>:pusher</span>
905
+ <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__pusher_client'>_pusher_client</span><span class='period'>.</span><span class='id identifier rubyid_trigger_async'>trigger_async</span><span class='lparen'>(</span><span class='id identifier rubyid_channel_array'>channel_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>update</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
906
+ <span class='kw'>end</span>
907
+ <span class='kw'>end</span>
908
+ <span class='kw'>end</span></pre>
909
+ </td>
910
+ </tr>
911
+ </table>
912
+ </div>
913
+
914
+ <div class="method_details ">
915
+ <h3 class="signature " id="publish_scope-instance_method">
916
+
917
+ #<strong>publish_scope</strong>(record_class, scope_name) &#x21d2; <tt>Object</tt>
918
+
919
+
920
+
921
+
922
+
923
+ </h3><table class="source_code">
924
+ <tr>
925
+ <td>
926
+ <pre class="lines">
927
+
928
+
929
+ 129
930
+ 130
931
+ 131
932
+ 132
933
+ 133
934
+ 134
935
+ 135
936
+ 136
937
+ 137
938
+ 138
939
+ 139
940
+ 140
941
+ 141
942
+ 142
943
+ 143
944
+ 144
945
+ 145
946
+ 146
947
+ 147
948
+ 148
949
+ 149
950
+ 150</pre>
951
+ </td>
952
+ <td>
953
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 129</span>
954
+
955
+ <span class='kw'>def</span> <span class='id identifier rubyid_publish_scope'>publish_scope</span><span class='lparen'>(</span><span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_scope_name'>scope_name</span><span class='rparen'>)</span>
956
+ <span class='id identifier rubyid_subscribers'>subscribers</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hgetall'>hgetall</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record_class'>record_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__scope__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_scope_name'>scope_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
957
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
958
+ <span class='id identifier rubyid_scrub_time'>scrub_time</span> <span class='op'>=</span> <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>-</span> <span class='int'>24</span><span class='period'>.</span><span class='id identifier rubyid_hours'>hours</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span>
959
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
960
+ <span class='label'>record_type:</span> <span class='id identifier rubyid_record_class'>record_class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span>
961
+ <span class='label'>scope:</span> <span class='id identifier rubyid_scope_name'>scope_name</span>
962
+ <span class='rbrace'>}</span>
963
+ <span class='id identifier rubyid_subscribers'>subscribers</span><span class='period'>.</span><span class='id identifier rubyid_each_slice'>each_slice</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_slice'>slice</span><span class='op'>|</span>
964
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
965
+ <span class='id identifier rubyid_slice'>slice</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_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='op'>|</span>
966
+ <span class='kw'>if</span> <span class='id identifier rubyid_last_requested'>last_requested</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
967
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hdel'>hdel</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record_class'>record_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__scope__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_scope_name'>scope_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
968
+ <span class='kw'>next</span>
969
+ <span class='kw'>end</span>
970
+ <span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>&lt;&lt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>hyper-record-update-channel-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_session_id'>session_id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
971
+ <span class='kw'>end</span>
972
+ <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_resource_transport'>resource_transport</span> <span class='op'>==</span> <span class='symbol'>:pusher</span>
973
+ <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__pusher_client'>_pusher_client</span><span class='period'>.</span><span class='id identifier rubyid_trigger_async'>trigger_async</span><span class='lparen'>(</span><span class='id identifier rubyid_channel_array'>channel_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>update</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
974
+ <span class='kw'>end</span>
975
+ <span class='kw'>end</span>
976
+ <span class='kw'>end</span></pre>
977
+ </td>
978
+ </tr>
979
+ </table>
980
+ </div>
981
+
982
+ <div class="method_details ">
983
+ <h3 class="signature " id="subscribe_record-instance_method">
984
+
985
+ #<strong>subscribe_record</strong>(record) &#x21d2; <tt>Object</tt>
986
+
987
+
988
+
989
+
990
+
991
+ </h3><table class="source_code">
992
+ <tr>
993
+ <td>
994
+ <pre class="lines">
995
+
996
+
997
+ 152
998
+ 153
999
+ 154
1000
+ 155</pre>
1001
+ </td>
1002
+ <td>
1003
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 152</span>
1004
+
1005
+ <span class='kw'>def</span> <span class='id identifier rubyid_subscribe_record'>subscribe_record</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='rparen'>)</span>
1006
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span>
1007
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hset'>hset</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1008
+ <span class='kw'>end</span></pre>
1009
+ </td>
1010
+ </tr>
1011
+ </table>
1012
+ </div>
1013
+
1014
+ <div class="method_details ">
1015
+ <h3 class="signature " id="subscribe_relation-instance_method">
1016
+
1017
+ #<strong>subscribe_relation</strong>(relation, base_record = nil, relation_name = nil) &#x21d2; <tt>Object</tt>
1018
+
1019
+
1020
+
1021
+
1022
+
1023
+ </h3><table class="source_code">
1024
+ <tr>
1025
+ <td>
1026
+ <pre class="lines">
1027
+
1028
+
1029
+ 157
1030
+ 158
1031
+ 159
1032
+ 160
1033
+ 161
1034
+ 162
1035
+ 163
1036
+ 164
1037
+ 165
1038
+ 166
1039
+ 167
1040
+ 168
1041
+ 169
1042
+ 170
1043
+ 171
1044
+ 172
1045
+ 173</pre>
1046
+ </td>
1047
+ <td>
1048
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 157</span>
1049
+
1050
+ <span class='kw'>def</span> <span class='id identifier rubyid_subscribe_relation'>subscribe_relation</span><span class='lparen'>(</span><span class='id identifier rubyid_relation'>relation</span><span class='comma'>,</span> <span class='id identifier rubyid_base_record'>base_record</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_relation_name'>relation_name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1051
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span>
1052
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1053
+ <span class='id identifier rubyid_session_id'>session_id</span> <span class='op'>=</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1054
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_pipelined'>pipelined</span> <span class='kw'>do</span>
1055
+ <span class='kw'>if</span> <span class='id identifier rubyid_relation'>relation</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Enumerable</span><span class='rparen'>)</span>
1056
+ <span class='comment'># has_many
1057
+ </span> <span class='id identifier rubyid_relation'>relation</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_record'>record</span><span class='op'>|</span>
1058
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hset'>hset</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_time_now'>time_now</span><span class='rparen'>)</span>
1059
+ <span class='kw'>end</span>
1060
+ <span class='kw'>elsif</span> <span class='op'>!</span><span class='id identifier rubyid_relation'>relation</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1061
+ <span class='comment'># has_one, belongs_to
1062
+ </span> <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hset'>hset</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_relation'>relation</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_relation'>relation</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_time_now'>time_now</span><span class='rparen'>)</span>
1063
+ <span class='kw'>end</span>
1064
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hset'>hset</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_base_record'>base_record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_time_now'>time_now</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_base_record'>base_record</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_relation_name'>relation_name</span>
1065
+ <span class='kw'>end</span>
1066
+ <span class='kw'>end</span></pre>
1067
+ </td>
1068
+ </tr>
1069
+ </table>
1070
+ </div>
1071
+
1072
+ <div class="method_details ">
1073
+ <h3 class="signature " id="subscribe_rest_class_method-instance_method">
1074
+
1075
+ #<strong>subscribe_rest_class_method</strong>(record_class, rest_class_method_name) &#x21d2; <tt>Object</tt>
1076
+
1077
+
1078
+
1079
+
1080
+
1081
+ </h3><table class="source_code">
1082
+ <tr>
1083
+ <td>
1084
+ <pre class="lines">
1085
+
1086
+
1087
+ 175
1088
+ 176
1089
+ 177
1090
+ 178
1091
+ 179
1092
+ 180
1093
+ 181
1094
+ 182</pre>
1095
+ </td>
1096
+ <td>
1097
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 175</span>
1098
+
1099
+ <span class='kw'>def</span> <span class='id identifier rubyid_subscribe_rest_class_method'>subscribe_rest_class_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record_class'>record_class</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span><span class='rparen'>)</span>
1100
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span>
1101
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1102
+ <span class='id identifier rubyid_session_id'>session_id</span> <span class='op'>=</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1103
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_pipelined'>pipelined</span> <span class='kw'>do</span>
1104
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hset'>hset</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record_class'>record_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__rest_class_method_name__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_time_now'>time_now</span><span class='rparen'>)</span>
1105
+ <span class='kw'>end</span>
1106
+ <span class='kw'>end</span></pre>
1107
+ </td>
1108
+ </tr>
1109
+ </table>
1110
+ </div>
1111
+
1112
+ <div class="method_details ">
1113
+ <h3 class="signature " id="subscribe_rest_method-instance_method">
1114
+
1115
+ #<strong>subscribe_rest_method</strong>(record, rest_method_name) &#x21d2; <tt>Object</tt>
1116
+
1117
+
1118
+
1119
+
1120
+
1121
+ </h3><table class="source_code">
1122
+ <tr>
1123
+ <td>
1124
+ <pre class="lines">
1125
+
1126
+
1127
+ 184
1128
+ 185
1129
+ 186
1130
+ 187
1131
+ 188
1132
+ 189</pre>
1133
+ </td>
1134
+ <td>
1135
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 184</span>
1136
+
1137
+ <span class='kw'>def</span> <span class='id identifier rubyid_subscribe_rest_method'>subscribe_rest_method</span><span class='lparen'>(</span><span class='id identifier rubyid_record'>record</span><span class='comma'>,</span> <span class='id identifier rubyid_rest_method_name'>rest_method_name</span><span class='rparen'>)</span>
1138
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span>
1139
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1140
+ <span class='id identifier rubyid_session_id'>session_id</span> <span class='op'>=</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1141
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hset'>hset</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>__rest_method__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rest_method_name'>rest_method_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_time_now'>time_now</span><span class='rparen'>)</span>
1142
+ <span class='kw'>end</span></pre>
1143
+ </td>
1144
+ </tr>
1145
+ </table>
1146
+ </div>
1147
+
1148
+ <div class="method_details ">
1149
+ <h3 class="signature " id="subscribe_scope-instance_method">
1150
+
1151
+ #<strong>subscribe_scope</strong>(collection, record_class = nil, scope_name = nil) &#x21d2; <tt>Object</tt>
1152
+
1153
+
1154
+
1155
+
1156
+
1157
+ </h3><table class="source_code">
1158
+ <tr>
1159
+ <td>
1160
+ <pre class="lines">
1161
+
1162
+
1163
+ 191
1164
+ 192
1165
+ 193
1166
+ 194
1167
+ 195
1168
+ 196
1169
+ 197
1170
+ 198
1171
+ 199
1172
+ 200
1173
+ 201
1174
+ 202
1175
+ 203</pre>
1176
+ </td>
1177
+ <td>
1178
+ <pre class="code"><span class="info file"># File 'lib/hyperloop/resource/pub_sub.rb', line 191</span>
1179
+
1180
+ <span class='kw'>def</span> <span class='id identifier rubyid_subscribe_scope'>subscribe_scope</span><span class='lparen'>(</span><span class='id identifier rubyid_collection'>collection</span><span class='comma'>,</span> <span class='id identifier rubyid_record_class'>record_class</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_scope_name'>scope_name</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
1181
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span>
1182
+ <span class='id identifier rubyid_time_now'>time_now</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1183
+ <span class='id identifier rubyid_session_id'>session_id</span> <span class='op'>=</span> <span class='id identifier rubyid_session'>session</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1184
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_pipelined'>pipelined</span> <span class='kw'>do</span>
1185
+ <span class='kw'>if</span> <span class='id identifier rubyid_collection'>collection</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Enumerable</span><span class='rparen'>)</span>
1186
+ <span class='id identifier rubyid_collection'>collection</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_record'>record</span><span class='op'>|</span>
1187
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hset'>hset</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record'>record</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_time_now'>time_now</span><span class='rparen'>)</span>
1188
+ <span class='kw'>end</span>
1189
+ <span class='kw'>end</span>
1190
+ <span class='const'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span><span class='period'>.</span><span class='id identifier rubyid_redis_instance'>redis_instance</span><span class='period'>.</span><span class='id identifier rubyid_hset'>hset</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>HRPS__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_record_class'>record_class</span><span class='embexpr_end'>}</span><span class='tstring_content'>__scope__</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_scope_name'>scope_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='comma'>,</span> <span class='id identifier rubyid_time_now'>time_now</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_record_class'>record_class</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_scope_name'>scope_name</span>
1191
+ <span class='kw'>end</span>
1192
+ <span class='kw'>end</span></pre>
1193
+ </td>
1194
+ </tr>
1195
+ </table>
1196
+ </div>
1197
+
1198
+ </div>
1199
+
1200
+ </div>
1201
+
1202
+ <div id="footer">
1203
+ Generated on Tue Jun 5 23:13:52 2018 by
1204
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1205
+ 0.9.13 (ruby-2.5.1).
1206
+ </div>
1207
+
1208
+ </div>
1209
+ </body>
1210
+ </html>