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.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/.yardopts +1 -0
- data/API.md +62 -0
- data/Gemfile +2 -0
- data/JSON_format.md +62 -0
- data/PubSub.md +20 -0
- data/README.md +2 -0
- data/Security.md +0 -0
- data/docs/HyperRecord/ClassMethods.html +2969 -0
- data/docs/HyperRecord/ClientInstanceMethods.html +1833 -0
- data/docs/HyperRecord/Collection.html +564 -0
- data/docs/HyperRecord/DummyValue.html +384 -0
- data/docs/HyperRecord/PubSub/ClassMethods.html +2047 -0
- data/docs/HyperRecord/PubSub.html +1679 -0
- data/docs/HyperRecord/ServerClassMethods.html +697 -0
- data/docs/HyperRecord.html +119 -0
- data/docs/Hyperloop/Resource/ClientDrivers.html +352 -0
- data/docs/Hyperloop/Resource/HTTP.html +1795 -0
- data/docs/Hyperloop/Resource/MethodsController.html +479 -0
- data/docs/Hyperloop/Resource/PropertiesController.html +225 -0
- data/docs/Hyperloop/Resource/PubSub/ClassMethods.html +105 -0
- data/docs/Hyperloop/Resource/PubSub.html +1210 -0
- data/docs/Hyperloop/Resource/RelationsController.html +529 -0
- data/docs/Hyperloop/Resource/ScopesController.html +380 -0
- data/docs/Hyperloop/Resource/SecurityError.html +124 -0
- data/docs/Hyperloop/Resource/SecurityGuards/ClassMethods.html +226 -0
- data/docs/Hyperloop/Resource/SecurityGuards.html +299 -0
- data/docs/Hyperloop/Resource.html +135 -0
- data/docs/Hyperloop.html +186 -0
- data/docs/_index.html +302 -0
- data/docs/class_list.html +51 -0
- data/docs/css/common.css +1 -0
- data/docs/css/full_list.css +58 -0
- data/docs/css/style.css +496 -0
- data/docs/file.API.html +138 -0
- data/docs/file.JSON_format.html +134 -0
- data/docs/file.PubSub.html +86 -0
- data/docs/file.README.html +192 -0
- data/docs/file_list.html +71 -0
- data/docs/frames.html +17 -0
- data/docs/index.html +192 -0
- data/docs/js/app.js +292 -0
- data/docs/js/full_list.js +216 -0
- data/docs/js/jquery.js +4 -0
- data/docs/method_list.html +1115 -0
- data/docs/top-level-namespace.html +110 -0
- data/hyper-resource.gemspec +19 -18
- data/lib/hyper_record/class_methods.rb +186 -3
- data/lib/hyper_record/client_instance_methods.rb +68 -3
- data/lib/hyper_record/collection.rb +19 -4
- data/lib/hyper_record/pub_sub.rb +92 -12
- data/lib/hyper_record/server_class_methods.rb +15 -0
- data/lib/hyperloop/resource/client_drivers.rb +2 -0
- data/lib/hyperloop/resource/http.rb +33 -22
- data/lib/hyperloop/resource/pub_sub.rb +2 -0
- data/lib/hyperloop/resource/version.rb +1 -1
- metadata +61 -2
@@ -0,0 +1,2047 @@
|
|
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: HyperRecord::PubSub::ClassMethods
|
8
|
+
|
9
|
+
— 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 = "HyperRecord::PubSub::ClassMethods";
|
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 (C)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></span> » <span class='title'><span class='object_link'><a href="../PubSub.html" title="HyperRecord::PubSub (module)">PubSub</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">ClassMethods</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: HyperRecord::PubSub::ClassMethods
|
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/hyper_record/pub_sub.rb</dd>
|
82
|
+
</dl>
|
83
|
+
|
84
|
+
</div>
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
91
|
+
<ul class="summary">
|
92
|
+
|
93
|
+
<li class="public ">
|
94
|
+
<span class="summary_signature">
|
95
|
+
|
96
|
+
<a href="#policy_params-instance_method" title="#policy_params (instance method)">#<strong>policy_params</strong> ⇒ Object </a>
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
</span>
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
<span class="summary_desc"><div class='inline'>
|
114
|
+
<p>Returns the value of attribute policy_params.</p>
|
115
|
+
</div></span>
|
116
|
+
|
117
|
+
</li>
|
118
|
+
|
119
|
+
|
120
|
+
</ul>
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
<h2>
|
127
|
+
Instance Method Summary
|
128
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
129
|
+
</h2>
|
130
|
+
|
131
|
+
<ul class="summary">
|
132
|
+
|
133
|
+
<li class="public ">
|
134
|
+
<span class="summary_signature">
|
135
|
+
|
136
|
+
<a href="#pub_sub_record-instance_method" title="#pub_sub_record (instance method)">#<strong>pub_sub_record</strong>(record) ⇒ Object </a>
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
</span>
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
<span class="summary_desc"><div class='inline'>
|
151
|
+
<p>subscribe to record and then publish.</p>
|
152
|
+
</div></span>
|
153
|
+
|
154
|
+
</li>
|
155
|
+
|
156
|
+
|
157
|
+
<li class="public ">
|
158
|
+
<span class="summary_signature">
|
159
|
+
|
160
|
+
<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) ⇒ Object </a>
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
</span>
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
<span class="summary_desc"><div class='inline'>
|
175
|
+
<p>subscribe to relation changes and then publish them.</p>
|
176
|
+
</div></span>
|
177
|
+
|
178
|
+
</li>
|
179
|
+
|
180
|
+
|
181
|
+
<li class="public ">
|
182
|
+
<span class="summary_signature">
|
183
|
+
|
184
|
+
<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) ⇒ Object </a>
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
</span>
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
<span class="summary_desc"><div class='inline'>
|
199
|
+
<p>subscribe to rest_class_method and then send message to notify clients that
|
200
|
+
they should call the rest_class_method again.</p>
|
201
|
+
</div></span>
|
202
|
+
|
203
|
+
</li>
|
204
|
+
|
205
|
+
|
206
|
+
<li class="public ">
|
207
|
+
<span class="summary_signature">
|
208
|
+
|
209
|
+
<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) ⇒ Object </a>
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
</span>
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
<span class="summary_desc"><div class='inline'>
|
224
|
+
<p>subscribe to rest_method and then send message to notify clients that they
|
225
|
+
should call the rest_method again.</p>
|
226
|
+
</div></span>
|
227
|
+
|
228
|
+
</li>
|
229
|
+
|
230
|
+
|
231
|
+
<li class="public ">
|
232
|
+
<span class="summary_signature">
|
233
|
+
|
234
|
+
<a href="#pub_sub_scope-instance_method" title="#pub_sub_scope (instance method)">#<strong>pub_sub_scope</strong>(collection, record_class, scope_name) ⇒ Object </a>
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
</span>
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
<span class="summary_desc"><div class='inline'>
|
249
|
+
<p>subscribe to scope changes and send message about scope change to all
|
250
|
+
subscribers.</p>
|
251
|
+
</div></span>
|
252
|
+
|
253
|
+
</li>
|
254
|
+
|
255
|
+
|
256
|
+
<li class="public ">
|
257
|
+
<span class="summary_signature">
|
258
|
+
|
259
|
+
<a href="#publish_record-instance_method" title="#publish_record (instance method)">#<strong>publish_record</strong>(record) ⇒ Object </a>
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
</span>
|
264
|
+
|
265
|
+
|
266
|
+
|
267
|
+
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
<span class="summary_desc"><div class='inline'>
|
274
|
+
<p>send message about record change to all subscribers of this record.</p>
|
275
|
+
</div></span>
|
276
|
+
|
277
|
+
</li>
|
278
|
+
|
279
|
+
|
280
|
+
<li class="public ">
|
281
|
+
<span class="summary_signature">
|
282
|
+
|
283
|
+
<a href="#publish_relation-instance_method" title="#publish_relation (instance method)">#<strong>publish_relation</strong>(base_record, relation_name, record = nil) ⇒ Object </a>
|
284
|
+
|
285
|
+
|
286
|
+
|
287
|
+
</span>
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
<span class="summary_desc"><div class='inline'>
|
298
|
+
<p>send message about relation change to all subscribers of this record.</p>
|
299
|
+
</div></span>
|
300
|
+
|
301
|
+
</li>
|
302
|
+
|
303
|
+
|
304
|
+
<li class="public ">
|
305
|
+
<span class="summary_signature">
|
306
|
+
|
307
|
+
<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) ⇒ Object </a>
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
</span>
|
312
|
+
|
313
|
+
|
314
|
+
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
<span class="summary_desc"><div class='inline'>
|
322
|
+
<p>send message to notify clients that they should call the rest_class_method
|
323
|
+
again.</p>
|
324
|
+
</div></span>
|
325
|
+
|
326
|
+
</li>
|
327
|
+
|
328
|
+
|
329
|
+
<li class="public ">
|
330
|
+
<span class="summary_signature">
|
331
|
+
|
332
|
+
<a href="#publish_rest_method-instance_method" title="#publish_rest_method (instance method)">#<strong>publish_rest_method</strong>(record, rest_method_name) ⇒ Object </a>
|
333
|
+
|
334
|
+
|
335
|
+
|
336
|
+
</span>
|
337
|
+
|
338
|
+
|
339
|
+
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
|
346
|
+
<span class="summary_desc"><div class='inline'>
|
347
|
+
<p>send message to notify clients that they should call the rest_method again.</p>
|
348
|
+
</div></span>
|
349
|
+
|
350
|
+
</li>
|
351
|
+
|
352
|
+
|
353
|
+
<li class="public ">
|
354
|
+
<span class="summary_signature">
|
355
|
+
|
356
|
+
<a href="#publish_scope-instance_method" title="#publish_scope (instance method)">#<strong>publish_scope</strong>(record_class, scope_name) ⇒ Object </a>
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
</span>
|
361
|
+
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
|
369
|
+
|
370
|
+
<span class="summary_desc"><div class='inline'>
|
371
|
+
<p>send message about scope change to all subscribers.</p>
|
372
|
+
</div></span>
|
373
|
+
|
374
|
+
</li>
|
375
|
+
|
376
|
+
|
377
|
+
<li class="public ">
|
378
|
+
<span class="summary_signature">
|
379
|
+
|
380
|
+
<a href="#subscribe_record-instance_method" title="#subscribe_record (instance method)">#<strong>subscribe_record</strong>(record) ⇒ Object </a>
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
</span>
|
385
|
+
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
|
392
|
+
|
393
|
+
|
394
|
+
<span class="summary_desc"><div class='inline'>
|
395
|
+
<p>subscribe to record changes.</p>
|
396
|
+
</div></span>
|
397
|
+
|
398
|
+
</li>
|
399
|
+
|
400
|
+
|
401
|
+
<li class="public ">
|
402
|
+
<span class="summary_signature">
|
403
|
+
|
404
|
+
<a href="#subscribe_relation-instance_method" title="#subscribe_relation (instance method)">#<strong>subscribe_relation</strong>(relation, base_record = nil, relation_name = nil) ⇒ Object </a>
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
</span>
|
409
|
+
|
410
|
+
|
411
|
+
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
<span class="summary_desc"><div class='inline'>
|
419
|
+
<p>subscribe to relation changes.</p>
|
420
|
+
</div></span>
|
421
|
+
|
422
|
+
</li>
|
423
|
+
|
424
|
+
|
425
|
+
<li class="public ">
|
426
|
+
<span class="summary_signature">
|
427
|
+
|
428
|
+
<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) ⇒ Object </a>
|
429
|
+
|
430
|
+
|
431
|
+
|
432
|
+
</span>
|
433
|
+
|
434
|
+
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
|
440
|
+
|
441
|
+
|
442
|
+
<span class="summary_desc"><div class='inline'>
|
443
|
+
<p>subscribe to rest_class_method updates.</p>
|
444
|
+
</div></span>
|
445
|
+
|
446
|
+
</li>
|
447
|
+
|
448
|
+
|
449
|
+
<li class="public ">
|
450
|
+
<span class="summary_signature">
|
451
|
+
|
452
|
+
<a href="#subscribe_rest_method-instance_method" title="#subscribe_rest_method (instance method)">#<strong>subscribe_rest_method</strong>(record, rest_method_name) ⇒ Object </a>
|
453
|
+
|
454
|
+
|
455
|
+
|
456
|
+
</span>
|
457
|
+
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
<span class="summary_desc"><div class='inline'>
|
467
|
+
<p>subscribe to rest_method updates.</p>
|
468
|
+
</div></span>
|
469
|
+
|
470
|
+
</li>
|
471
|
+
|
472
|
+
|
473
|
+
<li class="public ">
|
474
|
+
<span class="summary_signature">
|
475
|
+
|
476
|
+
<a href="#subscribe_scope-instance_method" title="#subscribe_scope (instance method)">#<strong>subscribe_scope</strong>(collection, record_class = nil, scope_name = nil) ⇒ Object </a>
|
477
|
+
|
478
|
+
|
479
|
+
|
480
|
+
</span>
|
481
|
+
|
482
|
+
|
483
|
+
|
484
|
+
|
485
|
+
|
486
|
+
|
487
|
+
|
488
|
+
|
489
|
+
|
490
|
+
<span class="summary_desc"><div class='inline'>
|
491
|
+
<p>subscribe to scope updates.</p>
|
492
|
+
</div></span>
|
493
|
+
|
494
|
+
</li>
|
495
|
+
|
496
|
+
|
497
|
+
</ul>
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
<div id="instance_attr_details" class="attr_details">
|
502
|
+
<h2>Instance Attribute Details</h2>
|
503
|
+
|
504
|
+
|
505
|
+
<span id="policy_params=-instance_method"></span>
|
506
|
+
<div class="method_details first">
|
507
|
+
<h3 class="signature first" id="policy_params-instance_method">
|
508
|
+
|
509
|
+
#<strong>policy_params</strong> ⇒ <tt>Object</tt>
|
510
|
+
|
511
|
+
|
512
|
+
|
513
|
+
|
514
|
+
|
515
|
+
</h3><div class="docstring">
|
516
|
+
<div class="discussion">
|
517
|
+
|
518
|
+
<p>Returns the value of attribute policy_params</p>
|
519
|
+
|
520
|
+
|
521
|
+
</div>
|
522
|
+
</div>
|
523
|
+
<div class="tags">
|
524
|
+
|
525
|
+
|
526
|
+
</div><table class="source_code">
|
527
|
+
<tr>
|
528
|
+
<td>
|
529
|
+
<pre class="lines">
|
530
|
+
|
531
|
+
|
532
|
+
10
|
533
|
+
11
|
534
|
+
12</pre>
|
535
|
+
</td>
|
536
|
+
<td>
|
537
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 10</span>
|
538
|
+
|
539
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_policy_params'>policy_params</span>
|
540
|
+
<span class='ivar'>@policy_params</span>
|
541
|
+
<span class='kw'>end</span></pre>
|
542
|
+
</td>
|
543
|
+
</tr>
|
544
|
+
</table>
|
545
|
+
</div>
|
546
|
+
|
547
|
+
</div>
|
548
|
+
|
549
|
+
|
550
|
+
<div id="instance_method_details" class="method_details_list">
|
551
|
+
<h2>Instance Method Details</h2>
|
552
|
+
|
553
|
+
|
554
|
+
<div class="method_details first">
|
555
|
+
<h3 class="signature first" id="pub_sub_record-instance_method">
|
556
|
+
|
557
|
+
#<strong>pub_sub_record</strong>(record) ⇒ <tt>Object</tt>
|
558
|
+
|
559
|
+
|
560
|
+
|
561
|
+
|
562
|
+
|
563
|
+
</h3><div class="docstring">
|
564
|
+
<div class="discussion">
|
565
|
+
|
566
|
+
<p>subscribe to record and then publish</p>
|
567
|
+
|
568
|
+
|
569
|
+
</div>
|
570
|
+
</div>
|
571
|
+
<div class="tags">
|
572
|
+
<p class="tag_title">Parameters:</p>
|
573
|
+
<ul class="param">
|
574
|
+
|
575
|
+
<li>
|
576
|
+
|
577
|
+
<span class='name'>record</span>
|
578
|
+
|
579
|
+
|
580
|
+
<span class='type'></span>
|
581
|
+
|
582
|
+
|
583
|
+
|
584
|
+
—
|
585
|
+
<div class='inline'>
|
586
|
+
<p>of ORM psecific type</p>
|
587
|
+
</div>
|
588
|
+
|
589
|
+
</li>
|
590
|
+
|
591
|
+
</ul>
|
592
|
+
|
593
|
+
|
594
|
+
</div><table class="source_code">
|
595
|
+
<tr>
|
596
|
+
<td>
|
597
|
+
<pre class="lines">
|
598
|
+
|
599
|
+
|
600
|
+
250
|
601
|
+
251
|
602
|
+
252
|
603
|
+
253</pre>
|
604
|
+
</td>
|
605
|
+
<td>
|
606
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 250</span>
|
607
|
+
|
608
|
+
<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>
|
609
|
+
<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>
|
610
|
+
<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>
|
611
|
+
<span class='kw'>end</span></pre>
|
612
|
+
</td>
|
613
|
+
</tr>
|
614
|
+
</table>
|
615
|
+
</div>
|
616
|
+
|
617
|
+
<div class="method_details ">
|
618
|
+
<h3 class="signature " id="pub_sub_relation-instance_method">
|
619
|
+
|
620
|
+
#<strong>pub_sub_relation</strong>(relation, base_record, relation_name, causing_record = nil) ⇒ <tt>Object</tt>
|
621
|
+
|
622
|
+
|
623
|
+
|
624
|
+
|
625
|
+
|
626
|
+
</h3><div class="docstring">
|
627
|
+
<div class="discussion">
|
628
|
+
|
629
|
+
<p>subscribe to relation changes and then publish them</p>
|
630
|
+
|
631
|
+
|
632
|
+
</div>
|
633
|
+
</div>
|
634
|
+
<div class="tags">
|
635
|
+
<p class="tag_title">Parameters:</p>
|
636
|
+
<ul class="param">
|
637
|
+
|
638
|
+
<li>
|
639
|
+
|
640
|
+
<span class='name'>relation</span>
|
641
|
+
|
642
|
+
|
643
|
+
<span class='type'>(<tt>Enumarable</tt>)</span>
|
644
|
+
|
645
|
+
|
646
|
+
|
647
|
+
—
|
648
|
+
<div class='inline'>
|
649
|
+
<p>or record of ORM specific type, subscribe to each member of relation</p>
|
650
|
+
</div>
|
651
|
+
|
652
|
+
</li>
|
653
|
+
|
654
|
+
<li>
|
655
|
+
|
656
|
+
<span class='name'>base_record</span>
|
657
|
+
|
658
|
+
|
659
|
+
<span class='type'></span>
|
660
|
+
|
661
|
+
|
662
|
+
|
663
|
+
—
|
664
|
+
<div class='inline'>
|
665
|
+
<p>of ORM specific type, base_record must respond to: id, updated_at,
|
666
|
+
destroyed?</p>
|
667
|
+
</div>
|
668
|
+
|
669
|
+
</li>
|
670
|
+
|
671
|
+
<li>
|
672
|
+
|
673
|
+
<span class='name'>relation_name</span>
|
674
|
+
|
675
|
+
|
676
|
+
<span class='type'>(<tt>String</tt>)</span>
|
677
|
+
|
678
|
+
|
679
|
+
|
680
|
+
</li>
|
681
|
+
|
682
|
+
<li>
|
683
|
+
|
684
|
+
<span class='name'>causing_record</span>
|
685
|
+
|
686
|
+
|
687
|
+
<span class='type'></span>
|
688
|
+
|
689
|
+
|
690
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
691
|
+
|
692
|
+
|
693
|
+
—
|
694
|
+
<div class='inline'>
|
695
|
+
<p>of ORM specific type the record who causes the change, reacord must respond
|
696
|
+
to: id, updated_at, destroyed?</p>
|
697
|
+
</div>
|
698
|
+
|
699
|
+
</li>
|
700
|
+
|
701
|
+
</ul>
|
702
|
+
|
703
|
+
|
704
|
+
</div><table class="source_code">
|
705
|
+
<tr>
|
706
|
+
<td>
|
707
|
+
<pre class="lines">
|
708
|
+
|
709
|
+
|
710
|
+
261
|
711
|
+
262
|
712
|
+
263
|
713
|
+
264</pre>
|
714
|
+
</td>
|
715
|
+
<td>
|
716
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 261</span>
|
717
|
+
|
718
|
+
<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>
|
719
|
+
<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>
|
720
|
+
<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>
|
721
|
+
<span class='kw'>end</span></pre>
|
722
|
+
</td>
|
723
|
+
</tr>
|
724
|
+
</table>
|
725
|
+
</div>
|
726
|
+
|
727
|
+
<div class="method_details ">
|
728
|
+
<h3 class="signature " id="pub_sub_rest_class_method-instance_method">
|
729
|
+
|
730
|
+
#<strong>pub_sub_rest_class_method</strong>(record_class, rest_class_method_name) ⇒ <tt>Object</tt>
|
731
|
+
|
732
|
+
|
733
|
+
|
734
|
+
|
735
|
+
|
736
|
+
</h3><div class="docstring">
|
737
|
+
<div class="discussion">
|
738
|
+
|
739
|
+
<p>subscribe to rest_class_method and then send message to notify clients that
|
740
|
+
they should call the rest_class_method again</p>
|
741
|
+
|
742
|
+
|
743
|
+
</div>
|
744
|
+
</div>
|
745
|
+
<div class="tags">
|
746
|
+
<p class="tag_title">Parameters:</p>
|
747
|
+
<ul class="param">
|
748
|
+
|
749
|
+
<li>
|
750
|
+
|
751
|
+
<span class='name'>record_class</span>
|
752
|
+
|
753
|
+
|
754
|
+
<span class='type'></span>
|
755
|
+
|
756
|
+
|
757
|
+
|
758
|
+
—
|
759
|
+
<div class='inline'>
|
760
|
+
<p>ORM specific</p>
|
761
|
+
</div>
|
762
|
+
|
763
|
+
</li>
|
764
|
+
|
765
|
+
<li>
|
766
|
+
|
767
|
+
<span class='name'>rest_class_method_name</span>
|
768
|
+
|
769
|
+
|
770
|
+
<span class='type'>(<tt>String</tt>)</span>
|
771
|
+
|
772
|
+
|
773
|
+
|
774
|
+
</li>
|
775
|
+
|
776
|
+
</ul>
|
777
|
+
|
778
|
+
|
779
|
+
</div><table class="source_code">
|
780
|
+
<tr>
|
781
|
+
<td>
|
782
|
+
<pre class="lines">
|
783
|
+
|
784
|
+
|
785
|
+
271
|
786
|
+
272
|
787
|
+
273
|
788
|
+
274</pre>
|
789
|
+
</td>
|
790
|
+
<td>
|
791
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 271</span>
|
792
|
+
|
793
|
+
<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>
|
794
|
+
<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>
|
795
|
+
<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>
|
796
|
+
<span class='kw'>end</span></pre>
|
797
|
+
</td>
|
798
|
+
</tr>
|
799
|
+
</table>
|
800
|
+
</div>
|
801
|
+
|
802
|
+
<div class="method_details ">
|
803
|
+
<h3 class="signature " id="pub_sub_rest_method-instance_method">
|
804
|
+
|
805
|
+
#<strong>pub_sub_rest_method</strong>(record, rest_method_name) ⇒ <tt>Object</tt>
|
806
|
+
|
807
|
+
|
808
|
+
|
809
|
+
|
810
|
+
|
811
|
+
</h3><div class="docstring">
|
812
|
+
<div class="discussion">
|
813
|
+
|
814
|
+
<p>subscribe to rest_method and then send message to notify clients that they
|
815
|
+
should call the rest_method again</p>
|
816
|
+
|
817
|
+
|
818
|
+
</div>
|
819
|
+
</div>
|
820
|
+
<div class="tags">
|
821
|
+
<p class="tag_title">Parameters:</p>
|
822
|
+
<ul class="param">
|
823
|
+
|
824
|
+
<li>
|
825
|
+
|
826
|
+
<span class='name'>record</span>
|
827
|
+
|
828
|
+
|
829
|
+
<span class='type'></span>
|
830
|
+
|
831
|
+
|
832
|
+
|
833
|
+
—
|
834
|
+
<div class='inline'>
|
835
|
+
<p>of ORM specific type</p>
|
836
|
+
</div>
|
837
|
+
|
838
|
+
</li>
|
839
|
+
|
840
|
+
<li>
|
841
|
+
|
842
|
+
<span class='name'>rest_method_name</span>
|
843
|
+
|
844
|
+
|
845
|
+
<span class='type'>(<tt>String</tt>)</span>
|
846
|
+
|
847
|
+
|
848
|
+
|
849
|
+
</li>
|
850
|
+
|
851
|
+
</ul>
|
852
|
+
|
853
|
+
|
854
|
+
</div><table class="source_code">
|
855
|
+
<tr>
|
856
|
+
<td>
|
857
|
+
<pre class="lines">
|
858
|
+
|
859
|
+
|
860
|
+
281
|
861
|
+
282
|
862
|
+
283
|
863
|
+
284</pre>
|
864
|
+
</td>
|
865
|
+
<td>
|
866
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 281</span>
|
867
|
+
|
868
|
+
<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>
|
869
|
+
<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>
|
870
|
+
<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>
|
871
|
+
<span class='kw'>end</span></pre>
|
872
|
+
</td>
|
873
|
+
</tr>
|
874
|
+
</table>
|
875
|
+
</div>
|
876
|
+
|
877
|
+
<div class="method_details ">
|
878
|
+
<h3 class="signature " id="pub_sub_scope-instance_method">
|
879
|
+
|
880
|
+
#<strong>pub_sub_scope</strong>(collection, record_class, scope_name) ⇒ <tt>Object</tt>
|
881
|
+
|
882
|
+
|
883
|
+
|
884
|
+
|
885
|
+
|
886
|
+
</h3><div class="docstring">
|
887
|
+
<div class="discussion">
|
888
|
+
|
889
|
+
<p>subscribe to scope changes and send message about scope change to all
|
890
|
+
subscribers</p>
|
891
|
+
|
892
|
+
|
893
|
+
</div>
|
894
|
+
</div>
|
895
|
+
<div class="tags">
|
896
|
+
<p class="tag_title">Parameters:</p>
|
897
|
+
<ul class="param">
|
898
|
+
|
899
|
+
<li>
|
900
|
+
|
901
|
+
<span class='name'>collection</span>
|
902
|
+
|
903
|
+
|
904
|
+
<span class='type'>(<tt>Enumerable</tt>)</span>
|
905
|
+
|
906
|
+
|
907
|
+
|
908
|
+
—
|
909
|
+
<div class='inline'>
|
910
|
+
<p>subscribe to each member of collection</p>
|
911
|
+
</div>
|
912
|
+
|
913
|
+
</li>
|
914
|
+
|
915
|
+
<li>
|
916
|
+
|
917
|
+
<span class='name'>record_class</span>
|
918
|
+
|
919
|
+
|
920
|
+
<span class='type'></span>
|
921
|
+
|
922
|
+
|
923
|
+
|
924
|
+
—
|
925
|
+
<div class='inline'>
|
926
|
+
<p>ORM specific</p>
|
927
|
+
</div>
|
928
|
+
|
929
|
+
</li>
|
930
|
+
|
931
|
+
<li>
|
932
|
+
|
933
|
+
<span class='name'>scope_name</span>
|
934
|
+
|
935
|
+
|
936
|
+
<span class='type'>(<tt>String</tt>)</span>
|
937
|
+
|
938
|
+
|
939
|
+
|
940
|
+
</li>
|
941
|
+
|
942
|
+
</ul>
|
943
|
+
|
944
|
+
|
945
|
+
</div><table class="source_code">
|
946
|
+
<tr>
|
947
|
+
<td>
|
948
|
+
<pre class="lines">
|
949
|
+
|
950
|
+
|
951
|
+
291
|
952
|
+
292
|
953
|
+
293
|
954
|
+
294</pre>
|
955
|
+
</td>
|
956
|
+
<td>
|
957
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 291</span>
|
958
|
+
|
959
|
+
<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>
|
960
|
+
<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>
|
961
|
+
<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>
|
962
|
+
<span class='kw'>end</span></pre>
|
963
|
+
</td>
|
964
|
+
</tr>
|
965
|
+
</table>
|
966
|
+
</div>
|
967
|
+
|
968
|
+
<div class="method_details ">
|
969
|
+
<h3 class="signature " id="publish_record-instance_method">
|
970
|
+
|
971
|
+
#<strong>publish_record</strong>(record) ⇒ <tt>Object</tt>
|
972
|
+
|
973
|
+
|
974
|
+
|
975
|
+
|
976
|
+
|
977
|
+
</h3><div class="docstring">
|
978
|
+
<div class="discussion">
|
979
|
+
|
980
|
+
<p>send message about record change to all subscribers of this record</p>
|
981
|
+
|
982
|
+
|
983
|
+
</div>
|
984
|
+
</div>
|
985
|
+
<div class="tags">
|
986
|
+
<p class="tag_title">Parameters:</p>
|
987
|
+
<ul class="param">
|
988
|
+
|
989
|
+
<li>
|
990
|
+
|
991
|
+
<span class='name'>record</span>
|
992
|
+
|
993
|
+
|
994
|
+
<span class='type'></span>
|
995
|
+
|
996
|
+
|
997
|
+
|
998
|
+
—
|
999
|
+
<div class='inline'>
|
1000
|
+
<p>of ORM specific type, record must respond to: id, updated_at, destroyed?</p>
|
1001
|
+
</div>
|
1002
|
+
|
1003
|
+
</li>
|
1004
|
+
|
1005
|
+
</ul>
|
1006
|
+
|
1007
|
+
|
1008
|
+
</div><table class="source_code">
|
1009
|
+
<tr>
|
1010
|
+
<td>
|
1011
|
+
<pre class="lines">
|
1012
|
+
|
1013
|
+
|
1014
|
+
25
|
1015
|
+
26
|
1016
|
+
27
|
1017
|
+
28
|
1018
|
+
29
|
1019
|
+
30
|
1020
|
+
31
|
1021
|
+
32
|
1022
|
+
33
|
1023
|
+
34
|
1024
|
+
35
|
1025
|
+
36
|
1026
|
+
37
|
1027
|
+
38
|
1028
|
+
39
|
1029
|
+
40
|
1030
|
+
41
|
1031
|
+
42
|
1032
|
+
43
|
1033
|
+
44
|
1034
|
+
45
|
1035
|
+
46
|
1036
|
+
47
|
1037
|
+
48
|
1038
|
+
49
|
1039
|
+
50
|
1040
|
+
51
|
1041
|
+
52</pre>
|
1042
|
+
</td>
|
1043
|
+
<td>
|
1044
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 25</span>
|
1045
|
+
|
1046
|
+
<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>
|
1047
|
+
<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'>"</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'>"</span></span><span class='rparen'>)</span>
|
1048
|
+
<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>
|
1049
|
+
<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>
|
1050
|
+
|
1051
|
+
<span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
1052
|
+
<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>
|
1053
|
+
<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>
|
1054
|
+
<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>
|
1055
|
+
<span class='rbrace'>}</span>
|
1056
|
+
<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>
|
1057
|
+
|
1058
|
+
<span class='comment'># can only trigger to max 10 channels at once on pusher
|
1059
|
+
</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>
|
1060
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1061
|
+
<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>
|
1062
|
+
<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'><</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
|
1063
|
+
<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'>"</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'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
|
1064
|
+
<span class='kw'>next</span>
|
1065
|
+
<span class='kw'>end</span>
|
1066
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span>
|
1067
|
+
<span class='kw'>end</span>
|
1068
|
+
<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'>&&</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'>></span> <span class='int'>0</span>
|
1069
|
+
<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'>'</span><span class='tstring_content'>update</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
|
1070
|
+
<span class='kw'>end</span>
|
1071
|
+
<span class='kw'>end</span>
|
1072
|
+
<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'>"</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'>"</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>
|
1073
|
+
<span class='kw'>end</span></pre>
|
1074
|
+
</td>
|
1075
|
+
</tr>
|
1076
|
+
</table>
|
1077
|
+
</div>
|
1078
|
+
|
1079
|
+
<div class="method_details ">
|
1080
|
+
<h3 class="signature " id="publish_relation-instance_method">
|
1081
|
+
|
1082
|
+
#<strong>publish_relation</strong>(base_record, relation_name, record = nil) ⇒ <tt>Object</tt>
|
1083
|
+
|
1084
|
+
|
1085
|
+
|
1086
|
+
|
1087
|
+
|
1088
|
+
</h3><div class="docstring">
|
1089
|
+
<div class="discussion">
|
1090
|
+
|
1091
|
+
<p>send message about relation change to all subscribers of this record</p>
|
1092
|
+
|
1093
|
+
|
1094
|
+
</div>
|
1095
|
+
</div>
|
1096
|
+
<div class="tags">
|
1097
|
+
<p class="tag_title">Parameters:</p>
|
1098
|
+
<ul class="param">
|
1099
|
+
|
1100
|
+
<li>
|
1101
|
+
|
1102
|
+
<span class='name'>base_record</span>
|
1103
|
+
|
1104
|
+
|
1105
|
+
<span class='type'></span>
|
1106
|
+
|
1107
|
+
|
1108
|
+
|
1109
|
+
—
|
1110
|
+
<div class='inline'>
|
1111
|
+
<p>of ORM specific type, base_record must respond to: id, updated_at,
|
1112
|
+
destroyed?</p>
|
1113
|
+
</div>
|
1114
|
+
|
1115
|
+
</li>
|
1116
|
+
|
1117
|
+
<li>
|
1118
|
+
|
1119
|
+
<span class='name'>relation_name</span>
|
1120
|
+
|
1121
|
+
|
1122
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1123
|
+
|
1124
|
+
|
1125
|
+
|
1126
|
+
</li>
|
1127
|
+
|
1128
|
+
<li>
|
1129
|
+
|
1130
|
+
<span class='name'>record</span>
|
1131
|
+
|
1132
|
+
|
1133
|
+
<span class='type'></span>
|
1134
|
+
|
1135
|
+
|
1136
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1137
|
+
|
1138
|
+
|
1139
|
+
—
|
1140
|
+
<div class='inline'>
|
1141
|
+
<p>of ORM specific type, the record who causes the change, record must respond
|
1142
|
+
to: id, updated_at, destroyed?</p>
|
1143
|
+
</div>
|
1144
|
+
|
1145
|
+
</li>
|
1146
|
+
|
1147
|
+
</ul>
|
1148
|
+
|
1149
|
+
|
1150
|
+
</div><table class="source_code">
|
1151
|
+
<tr>
|
1152
|
+
<td>
|
1153
|
+
<pre class="lines">
|
1154
|
+
|
1155
|
+
|
1156
|
+
59
|
1157
|
+
60
|
1158
|
+
61
|
1159
|
+
62
|
1160
|
+
63
|
1161
|
+
64
|
1162
|
+
65
|
1163
|
+
66
|
1164
|
+
67
|
1165
|
+
68
|
1166
|
+
69
|
1167
|
+
70
|
1168
|
+
71
|
1169
|
+
72
|
1170
|
+
73
|
1171
|
+
74
|
1172
|
+
75
|
1173
|
+
76
|
1174
|
+
77
|
1175
|
+
78
|
1176
|
+
79
|
1177
|
+
80
|
1178
|
+
81
|
1179
|
+
82
|
1180
|
+
83
|
1181
|
+
84
|
1182
|
+
85
|
1183
|
+
86
|
1184
|
+
87
|
1185
|
+
88
|
1186
|
+
89</pre>
|
1187
|
+
</td>
|
1188
|
+
<td>
|
1189
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 59</span>
|
1190
|
+
|
1191
|
+
<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>
|
1192
|
+
<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'>"</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'>"</span></span><span class='rparen'>)</span>
|
1193
|
+
<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>
|
1194
|
+
<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>
|
1195
|
+
<span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
1196
|
+
<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>
|
1197
|
+
<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>
|
1198
|
+
<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>
|
1199
|
+
<span class='label'>relation:</span> <span class='id identifier rubyid_relation_name'>relation_name</span>
|
1200
|
+
<span class='rbrace'>}</span>
|
1201
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_record'>record</span>
|
1202
|
+
<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>
|
1203
|
+
<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>
|
1204
|
+
<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>
|
1205
|
+
<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>
|
1206
|
+
<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>
|
1207
|
+
<span class='kw'>end</span>
|
1208
|
+
<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>
|
1209
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1210
|
+
<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>
|
1211
|
+
<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'><</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
|
1212
|
+
<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'>"</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'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
|
1213
|
+
<span class='kw'>next</span>
|
1214
|
+
<span class='kw'>end</span>
|
1215
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span>
|
1216
|
+
<span class='kw'>end</span>
|
1217
|
+
<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>
|
1218
|
+
<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'>'</span><span class='tstring_content'>update</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
|
1219
|
+
<span class='kw'>end</span>
|
1220
|
+
<span class='kw'>end</span>
|
1221
|
+
<span class='kw'>end</span></pre>
|
1222
|
+
</td>
|
1223
|
+
</tr>
|
1224
|
+
</table>
|
1225
|
+
</div>
|
1226
|
+
|
1227
|
+
<div class="method_details ">
|
1228
|
+
<h3 class="signature " id="publish_rest_class_method-instance_method">
|
1229
|
+
|
1230
|
+
#<strong>publish_rest_class_method</strong>(record_class, rest_class_method_name) ⇒ <tt>Object</tt>
|
1231
|
+
|
1232
|
+
|
1233
|
+
|
1234
|
+
|
1235
|
+
|
1236
|
+
</h3><div class="docstring">
|
1237
|
+
<div class="discussion">
|
1238
|
+
|
1239
|
+
<p>send message to notify clients that they should call the rest_class_method
|
1240
|
+
again</p>
|
1241
|
+
|
1242
|
+
|
1243
|
+
</div>
|
1244
|
+
</div>
|
1245
|
+
<div class="tags">
|
1246
|
+
<p class="tag_title">Parameters:</p>
|
1247
|
+
<ul class="param">
|
1248
|
+
|
1249
|
+
<li>
|
1250
|
+
|
1251
|
+
<span class='name'>record_class</span>
|
1252
|
+
|
1253
|
+
|
1254
|
+
<span class='type'></span>
|
1255
|
+
|
1256
|
+
|
1257
|
+
|
1258
|
+
—
|
1259
|
+
<div class='inline'>
|
1260
|
+
<p>ORM specific</p>
|
1261
|
+
</div>
|
1262
|
+
|
1263
|
+
</li>
|
1264
|
+
|
1265
|
+
<li>
|
1266
|
+
|
1267
|
+
<span class='name'>rest_class_method_name</span>
|
1268
|
+
|
1269
|
+
|
1270
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1271
|
+
|
1272
|
+
|
1273
|
+
|
1274
|
+
</li>
|
1275
|
+
|
1276
|
+
</ul>
|
1277
|
+
|
1278
|
+
|
1279
|
+
</div><table class="source_code">
|
1280
|
+
<tr>
|
1281
|
+
<td>
|
1282
|
+
<pre class="lines">
|
1283
|
+
|
1284
|
+
|
1285
|
+
95
|
1286
|
+
96
|
1287
|
+
97
|
1288
|
+
98
|
1289
|
+
99
|
1290
|
+
100
|
1291
|
+
101
|
1292
|
+
102
|
1293
|
+
103
|
1294
|
+
104
|
1295
|
+
105
|
1296
|
+
106
|
1297
|
+
107
|
1298
|
+
108
|
1299
|
+
109
|
1300
|
+
110
|
1301
|
+
111
|
1302
|
+
112
|
1303
|
+
113
|
1304
|
+
114
|
1305
|
+
115
|
1306
|
+
116</pre>
|
1307
|
+
</td>
|
1308
|
+
<td>
|
1309
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 95</span>
|
1310
|
+
|
1311
|
+
<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>
|
1312
|
+
<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'>"</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'>"</span></span><span class='rparen'>)</span>
|
1313
|
+
<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>
|
1314
|
+
<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>
|
1315
|
+
<span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
1316
|
+
<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>
|
1317
|
+
<span class='label'>rest_class_method:</span> <span class='id identifier rubyid_rest_class_method_name'>rest_class_method_name</span>
|
1318
|
+
<span class='rbrace'>}</span>
|
1319
|
+
<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>
|
1320
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1321
|
+
<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>
|
1322
|
+
<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'><</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
|
1323
|
+
<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'>"</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'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
|
1324
|
+
<span class='kw'>next</span>
|
1325
|
+
<span class='kw'>end</span>
|
1326
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span>
|
1327
|
+
<span class='kw'>end</span>
|
1328
|
+
<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>
|
1329
|
+
<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'>'</span><span class='tstring_content'>update</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
|
1330
|
+
<span class='kw'>end</span>
|
1331
|
+
<span class='kw'>end</span>
|
1332
|
+
<span class='kw'>end</span></pre>
|
1333
|
+
</td>
|
1334
|
+
</tr>
|
1335
|
+
</table>
|
1336
|
+
</div>
|
1337
|
+
|
1338
|
+
<div class="method_details ">
|
1339
|
+
<h3 class="signature " id="publish_rest_method-instance_method">
|
1340
|
+
|
1341
|
+
#<strong>publish_rest_method</strong>(record, rest_method_name) ⇒ <tt>Object</tt>
|
1342
|
+
|
1343
|
+
|
1344
|
+
|
1345
|
+
|
1346
|
+
|
1347
|
+
</h3><div class="docstring">
|
1348
|
+
<div class="discussion">
|
1349
|
+
|
1350
|
+
<p>send message to notify clients that they should call the rest_method again</p>
|
1351
|
+
|
1352
|
+
|
1353
|
+
</div>
|
1354
|
+
</div>
|
1355
|
+
<div class="tags">
|
1356
|
+
<p class="tag_title">Parameters:</p>
|
1357
|
+
<ul class="param">
|
1358
|
+
|
1359
|
+
<li>
|
1360
|
+
|
1361
|
+
<span class='name'>record</span>
|
1362
|
+
|
1363
|
+
|
1364
|
+
<span class='type'></span>
|
1365
|
+
|
1366
|
+
|
1367
|
+
|
1368
|
+
—
|
1369
|
+
<div class='inline'>
|
1370
|
+
<p>of ORM specific type</p>
|
1371
|
+
</div>
|
1372
|
+
|
1373
|
+
</li>
|
1374
|
+
|
1375
|
+
<li>
|
1376
|
+
|
1377
|
+
<span class='name'>rest_method_name</span>
|
1378
|
+
|
1379
|
+
|
1380
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1381
|
+
|
1382
|
+
|
1383
|
+
|
1384
|
+
</li>
|
1385
|
+
|
1386
|
+
</ul>
|
1387
|
+
|
1388
|
+
|
1389
|
+
</div><table class="source_code">
|
1390
|
+
<tr>
|
1391
|
+
<td>
|
1392
|
+
<pre class="lines">
|
1393
|
+
|
1394
|
+
|
1395
|
+
122
|
1396
|
+
123
|
1397
|
+
124
|
1398
|
+
125
|
1399
|
+
126
|
1400
|
+
127
|
1401
|
+
128
|
1402
|
+
129
|
1403
|
+
130
|
1404
|
+
131
|
1405
|
+
132
|
1406
|
+
133
|
1407
|
+
134
|
1408
|
+
135
|
1409
|
+
136
|
1410
|
+
137
|
1411
|
+
138
|
1412
|
+
139
|
1413
|
+
140
|
1414
|
+
141
|
1415
|
+
142
|
1416
|
+
143
|
1417
|
+
144</pre>
|
1418
|
+
</td>
|
1419
|
+
<td>
|
1420
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 122</span>
|
1421
|
+
|
1422
|
+
<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_rest_method_name'>rest_method_name</span><span class='rparen'>)</span>
|
1423
|
+
<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'>"</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'>"</span></span><span class='rparen'>)</span>
|
1424
|
+
<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>
|
1425
|
+
<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>
|
1426
|
+
<span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
1427
|
+
<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>
|
1428
|
+
<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>
|
1429
|
+
<span class='label'>rest_method:</span> <span class='id identifier rubyid_rest_method_name'>rest_method_name</span>
|
1430
|
+
<span class='rbrace'>}</span>
|
1431
|
+
<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>
|
1432
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1433
|
+
<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>
|
1434
|
+
<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'><</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
|
1435
|
+
<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'>"</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'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
|
1436
|
+
<span class='kw'>next</span>
|
1437
|
+
<span class='kw'>end</span>
|
1438
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span>
|
1439
|
+
<span class='kw'>end</span>
|
1440
|
+
<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>
|
1441
|
+
<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'>'</span><span class='tstring_content'>update</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
|
1442
|
+
<span class='kw'>end</span>
|
1443
|
+
<span class='kw'>end</span>
|
1444
|
+
<span class='kw'>end</span></pre>
|
1445
|
+
</td>
|
1446
|
+
</tr>
|
1447
|
+
</table>
|
1448
|
+
</div>
|
1449
|
+
|
1450
|
+
<div class="method_details ">
|
1451
|
+
<h3 class="signature " id="publish_scope-instance_method">
|
1452
|
+
|
1453
|
+
#<strong>publish_scope</strong>(record_class, scope_name) ⇒ <tt>Object</tt>
|
1454
|
+
|
1455
|
+
|
1456
|
+
|
1457
|
+
|
1458
|
+
|
1459
|
+
</h3><div class="docstring">
|
1460
|
+
<div class="discussion">
|
1461
|
+
|
1462
|
+
<p>send message about scope change to all subscribers</p>
|
1463
|
+
|
1464
|
+
|
1465
|
+
</div>
|
1466
|
+
</div>
|
1467
|
+
<div class="tags">
|
1468
|
+
<p class="tag_title">Parameters:</p>
|
1469
|
+
<ul class="param">
|
1470
|
+
|
1471
|
+
<li>
|
1472
|
+
|
1473
|
+
<span class='name'>record_class</span>
|
1474
|
+
|
1475
|
+
|
1476
|
+
<span class='type'></span>
|
1477
|
+
|
1478
|
+
|
1479
|
+
|
1480
|
+
—
|
1481
|
+
<div class='inline'>
|
1482
|
+
<p>ORM specific</p>
|
1483
|
+
</div>
|
1484
|
+
|
1485
|
+
</li>
|
1486
|
+
|
1487
|
+
<li>
|
1488
|
+
|
1489
|
+
<span class='name'>scope_name</span>
|
1490
|
+
|
1491
|
+
|
1492
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1493
|
+
|
1494
|
+
|
1495
|
+
|
1496
|
+
</li>
|
1497
|
+
|
1498
|
+
</ul>
|
1499
|
+
|
1500
|
+
|
1501
|
+
</div><table class="source_code">
|
1502
|
+
<tr>
|
1503
|
+
<td>
|
1504
|
+
<pre class="lines">
|
1505
|
+
|
1506
|
+
|
1507
|
+
150
|
1508
|
+
151
|
1509
|
+
152
|
1510
|
+
153
|
1511
|
+
154
|
1512
|
+
155
|
1513
|
+
156
|
1514
|
+
157
|
1515
|
+
158
|
1516
|
+
159
|
1517
|
+
160
|
1518
|
+
161
|
1519
|
+
162
|
1520
|
+
163
|
1521
|
+
164
|
1522
|
+
165
|
1523
|
+
166
|
1524
|
+
167
|
1525
|
+
168
|
1526
|
+
169
|
1527
|
+
170
|
1528
|
+
171</pre>
|
1529
|
+
</td>
|
1530
|
+
<td>
|
1531
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 150</span>
|
1532
|
+
|
1533
|
+
<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>
|
1534
|
+
<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'>"</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'>"</span></span><span class='rparen'>)</span>
|
1535
|
+
<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>
|
1536
|
+
<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>
|
1537
|
+
<span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
1538
|
+
<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>
|
1539
|
+
<span class='label'>scope:</span> <span class='id identifier rubyid_scope_name'>scope_name</span>
|
1540
|
+
<span class='rbrace'>}</span>
|
1541
|
+
<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>
|
1542
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1543
|
+
<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>
|
1544
|
+
<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'><</span> <span class='id identifier rubyid_scrub_time'>scrub_time</span>
|
1545
|
+
<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'>"</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'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_session_id'>session_id</span><span class='rparen'>)</span>
|
1546
|
+
<span class='kw'>next</span>
|
1547
|
+
<span class='kw'>end</span>
|
1548
|
+
<span class='id identifier rubyid_channel_array'>channel_array</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</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'>"</span></span>
|
1549
|
+
<span class='kw'>end</span>
|
1550
|
+
<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>
|
1551
|
+
<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'>'</span><span class='tstring_content'>update</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
|
1552
|
+
<span class='kw'>end</span>
|
1553
|
+
<span class='kw'>end</span>
|
1554
|
+
<span class='kw'>end</span></pre>
|
1555
|
+
</td>
|
1556
|
+
</tr>
|
1557
|
+
</table>
|
1558
|
+
</div>
|
1559
|
+
|
1560
|
+
<div class="method_details ">
|
1561
|
+
<h3 class="signature " id="subscribe_record-instance_method">
|
1562
|
+
|
1563
|
+
#<strong>subscribe_record</strong>(record) ⇒ <tt>Object</tt>
|
1564
|
+
|
1565
|
+
|
1566
|
+
|
1567
|
+
|
1568
|
+
|
1569
|
+
</h3><div class="docstring">
|
1570
|
+
<div class="discussion">
|
1571
|
+
|
1572
|
+
<p>subscribe to record changes</p>
|
1573
|
+
|
1574
|
+
|
1575
|
+
</div>
|
1576
|
+
</div>
|
1577
|
+
<div class="tags">
|
1578
|
+
<p class="tag_title">Parameters:</p>
|
1579
|
+
<ul class="param">
|
1580
|
+
|
1581
|
+
<li>
|
1582
|
+
|
1583
|
+
<span class='name'>record</span>
|
1584
|
+
|
1585
|
+
|
1586
|
+
<span class='type'></span>
|
1587
|
+
|
1588
|
+
|
1589
|
+
|
1590
|
+
—
|
1591
|
+
<div class='inline'>
|
1592
|
+
<p>of ORM specific type</p>
|
1593
|
+
</div>
|
1594
|
+
|
1595
|
+
</li>
|
1596
|
+
|
1597
|
+
</ul>
|
1598
|
+
|
1599
|
+
|
1600
|
+
</div><table class="source_code">
|
1601
|
+
<tr>
|
1602
|
+
<td>
|
1603
|
+
<pre class="lines">
|
1604
|
+
|
1605
|
+
|
1606
|
+
176
|
1607
|
+
177
|
1608
|
+
178
|
1609
|
+
179</pre>
|
1610
|
+
</td>
|
1611
|
+
<td>
|
1612
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 176</span>
|
1613
|
+
|
1614
|
+
<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>
|
1615
|
+
<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>
|
1616
|
+
<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'>"</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'>"</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>
|
1617
|
+
<span class='kw'>end</span></pre>
|
1618
|
+
</td>
|
1619
|
+
</tr>
|
1620
|
+
</table>
|
1621
|
+
</div>
|
1622
|
+
|
1623
|
+
<div class="method_details ">
|
1624
|
+
<h3 class="signature " id="subscribe_relation-instance_method">
|
1625
|
+
|
1626
|
+
#<strong>subscribe_relation</strong>(relation, base_record = nil, relation_name = nil) ⇒ <tt>Object</tt>
|
1627
|
+
|
1628
|
+
|
1629
|
+
|
1630
|
+
|
1631
|
+
|
1632
|
+
</h3><div class="docstring">
|
1633
|
+
<div class="discussion">
|
1634
|
+
|
1635
|
+
<p>subscribe to relation changes</p>
|
1636
|
+
|
1637
|
+
|
1638
|
+
</div>
|
1639
|
+
</div>
|
1640
|
+
<div class="tags">
|
1641
|
+
<p class="tag_title">Parameters:</p>
|
1642
|
+
<ul class="param">
|
1643
|
+
|
1644
|
+
<li>
|
1645
|
+
|
1646
|
+
<span class='name'>relation</span>
|
1647
|
+
|
1648
|
+
|
1649
|
+
<span class='type'>(<tt>Enumarable</tt>)</span>
|
1650
|
+
|
1651
|
+
|
1652
|
+
|
1653
|
+
—
|
1654
|
+
<div class='inline'>
|
1655
|
+
<p>or record of ORM specific type, subscribe to each member of relation</p>
|
1656
|
+
</div>
|
1657
|
+
|
1658
|
+
</li>
|
1659
|
+
|
1660
|
+
<li>
|
1661
|
+
|
1662
|
+
<span class='name'>base_record</span>
|
1663
|
+
|
1664
|
+
|
1665
|
+
<span class='type'></span>
|
1666
|
+
|
1667
|
+
|
1668
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1669
|
+
|
1670
|
+
|
1671
|
+
—
|
1672
|
+
<div class='inline'>
|
1673
|
+
<p>optional, of ORM specific type, subscribe to this base_record too</p>
|
1674
|
+
</div>
|
1675
|
+
|
1676
|
+
</li>
|
1677
|
+
|
1678
|
+
<li>
|
1679
|
+
|
1680
|
+
<span class='name'>relation_name</span>
|
1681
|
+
|
1682
|
+
|
1683
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1684
|
+
|
1685
|
+
|
1686
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1687
|
+
|
1688
|
+
|
1689
|
+
—
|
1690
|
+
<div class='inline'>
|
1691
|
+
<p>optional name of the relation</p>
|
1692
|
+
</div>
|
1693
|
+
|
1694
|
+
</li>
|
1695
|
+
|
1696
|
+
</ul>
|
1697
|
+
|
1698
|
+
|
1699
|
+
</div><table class="source_code">
|
1700
|
+
<tr>
|
1701
|
+
<td>
|
1702
|
+
<pre class="lines">
|
1703
|
+
|
1704
|
+
|
1705
|
+
186
|
1706
|
+
187
|
1707
|
+
188
|
1708
|
+
189
|
1709
|
+
190
|
1710
|
+
191
|
1711
|
+
192
|
1712
|
+
193
|
1713
|
+
194
|
1714
|
+
195
|
1715
|
+
196
|
1716
|
+
197
|
1717
|
+
198
|
1718
|
+
199
|
1719
|
+
200
|
1720
|
+
201
|
1721
|
+
202</pre>
|
1722
|
+
</td>
|
1723
|
+
<td>
|
1724
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 186</span>
|
1725
|
+
|
1726
|
+
<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>
|
1727
|
+
<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>
|
1728
|
+
<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>
|
1729
|
+
<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>
|
1730
|
+
<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>
|
1731
|
+
<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>
|
1732
|
+
<span class='comment'># has_many
|
1733
|
+
</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>
|
1734
|
+
<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'>"</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'>"</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>
|
1735
|
+
<span class='kw'>end</span>
|
1736
|
+
<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>
|
1737
|
+
<span class='comment'># has_one, belongs_to
|
1738
|
+
</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'>"</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'>"</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>
|
1739
|
+
<span class='kw'>end</span>
|
1740
|
+
<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'>"</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'>"</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'>&&</span> <span class='id identifier rubyid_relation_name'>relation_name</span>
|
1741
|
+
<span class='kw'>end</span>
|
1742
|
+
<span class='kw'>end</span></pre>
|
1743
|
+
</td>
|
1744
|
+
</tr>
|
1745
|
+
</table>
|
1746
|
+
</div>
|
1747
|
+
|
1748
|
+
<div class="method_details ">
|
1749
|
+
<h3 class="signature " id="subscribe_rest_class_method-instance_method">
|
1750
|
+
|
1751
|
+
#<strong>subscribe_rest_class_method</strong>(record_class, rest_class_method_name) ⇒ <tt>Object</tt>
|
1752
|
+
|
1753
|
+
|
1754
|
+
|
1755
|
+
|
1756
|
+
|
1757
|
+
</h3><div class="docstring">
|
1758
|
+
<div class="discussion">
|
1759
|
+
|
1760
|
+
<p>subscribe to rest_class_method updates</p>
|
1761
|
+
|
1762
|
+
|
1763
|
+
</div>
|
1764
|
+
</div>
|
1765
|
+
<div class="tags">
|
1766
|
+
<p class="tag_title">Parameters:</p>
|
1767
|
+
<ul class="param">
|
1768
|
+
|
1769
|
+
<li>
|
1770
|
+
|
1771
|
+
<span class='name'>record_class</span>
|
1772
|
+
|
1773
|
+
|
1774
|
+
<span class='type'></span>
|
1775
|
+
|
1776
|
+
|
1777
|
+
|
1778
|
+
—
|
1779
|
+
<div class='inline'>
|
1780
|
+
<p>ORM specific</p>
|
1781
|
+
</div>
|
1782
|
+
|
1783
|
+
</li>
|
1784
|
+
|
1785
|
+
<li>
|
1786
|
+
|
1787
|
+
<span class='name'>rest_class_method_name</span>
|
1788
|
+
|
1789
|
+
|
1790
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1791
|
+
|
1792
|
+
|
1793
|
+
|
1794
|
+
—
|
1795
|
+
<div class='inline'>
|
1796
|
+
<p>name of the rest_class_method</p>
|
1797
|
+
</div>
|
1798
|
+
|
1799
|
+
</li>
|
1800
|
+
|
1801
|
+
</ul>
|
1802
|
+
|
1803
|
+
|
1804
|
+
</div><table class="source_code">
|
1805
|
+
<tr>
|
1806
|
+
<td>
|
1807
|
+
<pre class="lines">
|
1808
|
+
|
1809
|
+
|
1810
|
+
208
|
1811
|
+
209
|
1812
|
+
210
|
1813
|
+
211
|
1814
|
+
212
|
1815
|
+
213
|
1816
|
+
214
|
1817
|
+
215</pre>
|
1818
|
+
</td>
|
1819
|
+
<td>
|
1820
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 208</span>
|
1821
|
+
|
1822
|
+
<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>
|
1823
|
+
<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>
|
1824
|
+
<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>
|
1825
|
+
<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>
|
1826
|
+
<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>
|
1827
|
+
<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'>"</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'>"</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>
|
1828
|
+
<span class='kw'>end</span>
|
1829
|
+
<span class='kw'>end</span></pre>
|
1830
|
+
</td>
|
1831
|
+
</tr>
|
1832
|
+
</table>
|
1833
|
+
</div>
|
1834
|
+
|
1835
|
+
<div class="method_details ">
|
1836
|
+
<h3 class="signature " id="subscribe_rest_method-instance_method">
|
1837
|
+
|
1838
|
+
#<strong>subscribe_rest_method</strong>(record, rest_method_name) ⇒ <tt>Object</tt>
|
1839
|
+
|
1840
|
+
|
1841
|
+
|
1842
|
+
|
1843
|
+
|
1844
|
+
</h3><div class="docstring">
|
1845
|
+
<div class="discussion">
|
1846
|
+
|
1847
|
+
<p>subscribe to rest_method updates</p>
|
1848
|
+
|
1849
|
+
|
1850
|
+
</div>
|
1851
|
+
</div>
|
1852
|
+
<div class="tags">
|
1853
|
+
<p class="tag_title">Parameters:</p>
|
1854
|
+
<ul class="param">
|
1855
|
+
|
1856
|
+
<li>
|
1857
|
+
|
1858
|
+
<span class='name'>record</span>
|
1859
|
+
|
1860
|
+
|
1861
|
+
<span class='type'></span>
|
1862
|
+
|
1863
|
+
|
1864
|
+
|
1865
|
+
—
|
1866
|
+
<div class='inline'>
|
1867
|
+
<p>of ORM specific type</p>
|
1868
|
+
</div>
|
1869
|
+
|
1870
|
+
</li>
|
1871
|
+
|
1872
|
+
<li>
|
1873
|
+
|
1874
|
+
<span class='name'>rest_method_name</span>
|
1875
|
+
|
1876
|
+
|
1877
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1878
|
+
|
1879
|
+
|
1880
|
+
|
1881
|
+
—
|
1882
|
+
<div class='inline'>
|
1883
|
+
<p>name of the rest_method</p>
|
1884
|
+
</div>
|
1885
|
+
|
1886
|
+
</li>
|
1887
|
+
|
1888
|
+
</ul>
|
1889
|
+
|
1890
|
+
|
1891
|
+
</div><table class="source_code">
|
1892
|
+
<tr>
|
1893
|
+
<td>
|
1894
|
+
<pre class="lines">
|
1895
|
+
|
1896
|
+
|
1897
|
+
221
|
1898
|
+
222
|
1899
|
+
223
|
1900
|
+
224
|
1901
|
+
225
|
1902
|
+
226</pre>
|
1903
|
+
</td>
|
1904
|
+
<td>
|
1905
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 221</span>
|
1906
|
+
|
1907
|
+
<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>
|
1908
|
+
<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>
|
1909
|
+
<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>
|
1910
|
+
<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>
|
1911
|
+
<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'>"</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'>"</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>
|
1912
|
+
<span class='kw'>end</span></pre>
|
1913
|
+
</td>
|
1914
|
+
</tr>
|
1915
|
+
</table>
|
1916
|
+
</div>
|
1917
|
+
|
1918
|
+
<div class="method_details ">
|
1919
|
+
<h3 class="signature " id="subscribe_scope-instance_method">
|
1920
|
+
|
1921
|
+
#<strong>subscribe_scope</strong>(collection, record_class = nil, scope_name = nil) ⇒ <tt>Object</tt>
|
1922
|
+
|
1923
|
+
|
1924
|
+
|
1925
|
+
|
1926
|
+
|
1927
|
+
</h3><div class="docstring">
|
1928
|
+
<div class="discussion">
|
1929
|
+
|
1930
|
+
<p>subscribe to scope updates</p>
|
1931
|
+
|
1932
|
+
|
1933
|
+
</div>
|
1934
|
+
</div>
|
1935
|
+
<div class="tags">
|
1936
|
+
<p class="tag_title">Parameters:</p>
|
1937
|
+
<ul class="param">
|
1938
|
+
|
1939
|
+
<li>
|
1940
|
+
|
1941
|
+
<span class='name'>collection</span>
|
1942
|
+
|
1943
|
+
|
1944
|
+
<span class='type'>(<tt>Enumerable</tt>)</span>
|
1945
|
+
|
1946
|
+
|
1947
|
+
|
1948
|
+
—
|
1949
|
+
<div class='inline'>
|
1950
|
+
<p>subscribe to each member of collection</p>
|
1951
|
+
</div>
|
1952
|
+
|
1953
|
+
</li>
|
1954
|
+
|
1955
|
+
<li>
|
1956
|
+
|
1957
|
+
<span class='name'>record_class</span>
|
1958
|
+
|
1959
|
+
|
1960
|
+
<span class='type'></span>
|
1961
|
+
|
1962
|
+
|
1963
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1964
|
+
|
1965
|
+
|
1966
|
+
—
|
1967
|
+
<div class='inline'>
|
1968
|
+
<p>optional, ORM specific</p>
|
1969
|
+
</div>
|
1970
|
+
|
1971
|
+
</li>
|
1972
|
+
|
1973
|
+
<li>
|
1974
|
+
|
1975
|
+
<span class='name'>scope_name</span>
|
1976
|
+
|
1977
|
+
|
1978
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1979
|
+
|
1980
|
+
|
1981
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1982
|
+
|
1983
|
+
|
1984
|
+
—
|
1985
|
+
<div class='inline'>
|
1986
|
+
<p>optional</p>
|
1987
|
+
</div>
|
1988
|
+
|
1989
|
+
</li>
|
1990
|
+
|
1991
|
+
</ul>
|
1992
|
+
|
1993
|
+
|
1994
|
+
</div><table class="source_code">
|
1995
|
+
<tr>
|
1996
|
+
<td>
|
1997
|
+
<pre class="lines">
|
1998
|
+
|
1999
|
+
|
2000
|
+
233
|
2001
|
+
234
|
2002
|
+
235
|
2003
|
+
236
|
2004
|
+
237
|
2005
|
+
238
|
2006
|
+
239
|
2007
|
+
240
|
2008
|
+
241
|
2009
|
+
242
|
2010
|
+
243
|
2011
|
+
244
|
2012
|
+
245</pre>
|
2013
|
+
</td>
|
2014
|
+
<td>
|
2015
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/pub_sub.rb', line 233</span>
|
2016
|
+
|
2017
|
+
<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>
|
2018
|
+
<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>
|
2019
|
+
<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>
|
2020
|
+
<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>
|
2021
|
+
<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>
|
2022
|
+
<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>
|
2023
|
+
<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>
|
2024
|
+
<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'>"</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'>"</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>
|
2025
|
+
<span class='kw'>end</span>
|
2026
|
+
<span class='kw'>end</span>
|
2027
|
+
<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'>"</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'>"</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'>&&</span> <span class='id identifier rubyid_scope_name'>scope_name</span>
|
2028
|
+
<span class='kw'>end</span>
|
2029
|
+
<span class='kw'>end</span></pre>
|
2030
|
+
</td>
|
2031
|
+
</tr>
|
2032
|
+
</table>
|
2033
|
+
</div>
|
2034
|
+
|
2035
|
+
</div>
|
2036
|
+
|
2037
|
+
</div>
|
2038
|
+
|
2039
|
+
<div id="footer">
|
2040
|
+
Generated on Tue Jun 5 23:13:52 2018 by
|
2041
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2042
|
+
0.9.13 (ruby-2.5.1).
|
2043
|
+
</div>
|
2044
|
+
|
2045
|
+
</div>
|
2046
|
+
</body>
|
2047
|
+
</html>
|