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,1833 @@
|
|
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::ClientInstanceMethods
|
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::ClientInstanceMethods";
|
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>
|
41
|
+
»
|
42
|
+
<span class="title">ClientInstanceMethods</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::ClientInstanceMethods
|
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/client_instance_methods.rb</dd>
|
82
|
+
</dl>
|
83
|
+
|
84
|
+
</div>
|
85
|
+
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
<h2>
|
95
|
+
Instance Method Summary
|
96
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
97
|
+
</h2>
|
98
|
+
|
99
|
+
<ul class="summary">
|
100
|
+
|
101
|
+
<li class="public ">
|
102
|
+
<span class="summary_signature">
|
103
|
+
|
104
|
+
<a href="#_initialize_from_hash-instance_method" title="#_initialize_from_hash (instance method)">#<strong>_initialize_from_hash</strong>(record_hash) ⇒ Object </a>
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
</span>
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
119
|
+
|
120
|
+
</li>
|
121
|
+
|
122
|
+
|
123
|
+
<li class="public ">
|
124
|
+
<span class="summary_signature">
|
125
|
+
|
126
|
+
<a href="#destroy-instance_method" title="#destroy (instance method)">#<strong>destroy</strong> ⇒ Object </a>
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
</span>
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
<span class="summary_desc"><div class='inline'>
|
141
|
+
<p>destroy record, success is assumed.</p>
|
142
|
+
</div></span>
|
143
|
+
|
144
|
+
</li>
|
145
|
+
|
146
|
+
|
147
|
+
<li class="public ">
|
148
|
+
<span class="summary_signature">
|
149
|
+
|
150
|
+
<a href="#destroyed%3F-instance_method" title="#destroyed? (instance method)">#<strong>destroyed?</strong> ⇒ Boolean </a>
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
</span>
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
<span class="summary_desc"><div class='inline'>
|
165
|
+
<p>check if record has been destroyed.</p>
|
166
|
+
</div></span>
|
167
|
+
|
168
|
+
</li>
|
169
|
+
|
170
|
+
|
171
|
+
<li class="public ">
|
172
|
+
<span class="summary_signature">
|
173
|
+
|
174
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(record_hash = {}) ⇒ Object </a>
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
</span>
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
<span class="summary_desc"><div class='inline'>
|
189
|
+
<p>initialize a new instance of current HyperRecord class.</p>
|
190
|
+
</div></span>
|
191
|
+
|
192
|
+
</li>
|
193
|
+
|
194
|
+
|
195
|
+
<li class="public ">
|
196
|
+
<span class="summary_signature">
|
197
|
+
|
198
|
+
<a href="#link-instance_method" title="#link (instance method)">#<strong>link</strong>(other_record) ⇒ HyperRecord </a>
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
</span>
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
<span class="summary_desc"><div class='inline'>
|
213
|
+
<p>link the two records using a relation determined by other_record.class,
|
214
|
+
success is assumed.</p>
|
215
|
+
</div></span>
|
216
|
+
|
217
|
+
</li>
|
218
|
+
|
219
|
+
|
220
|
+
<li class="public ">
|
221
|
+
<span class="summary_signature">
|
222
|
+
|
223
|
+
<a href="#method_missing-instance_method" title="#method_missing (instance method)">#<strong>method_missing</strong>(method, arg) ⇒ Object </a>
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
</span>
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
<span class="summary_desc"><div class='inline'>
|
238
|
+
<p>method_missing is used for undeclared properties like in ActiveRecord
|
239
|
+
models.</p>
|
240
|
+
</div></span>
|
241
|
+
|
242
|
+
</li>
|
243
|
+
|
244
|
+
|
245
|
+
<li class="public ">
|
246
|
+
<span class="summary_signature">
|
247
|
+
|
248
|
+
<a href="#promise_destroy-instance_method" title="#promise_destroy (instance method)">#<strong>promise_destroy</strong> ⇒ Promise </a>
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
</span>
|
253
|
+
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
<span class="summary_desc"><div class='inline'>
|
263
|
+
<p>destroy record.</p>
|
264
|
+
</div></span>
|
265
|
+
|
266
|
+
</li>
|
267
|
+
|
268
|
+
|
269
|
+
<li class="public ">
|
270
|
+
<span class="summary_signature">
|
271
|
+
|
272
|
+
<a href="#promise_link-instance_method" title="#promise_link (instance method)">#<strong>promise_link</strong>(other_record, relation_name = nil) ⇒ Promise </a>
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
</span>
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
|
286
|
+
<span class="summary_desc"><div class='inline'>
|
287
|
+
<p>link the two records using a relation determined by other_record.class.</p>
|
288
|
+
</div></span>
|
289
|
+
|
290
|
+
</li>
|
291
|
+
|
292
|
+
|
293
|
+
<li class="public ">
|
294
|
+
<span class="summary_signature">
|
295
|
+
|
296
|
+
<a href="#promise_save-instance_method" title="#promise_save (instance method)">#<strong>promise_save</strong> ⇒ Promise </a>
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
</span>
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
|
310
|
+
<span class="summary_desc"><div class='inline'>
|
311
|
+
<p>save record.</p>
|
312
|
+
</div></span>
|
313
|
+
|
314
|
+
</li>
|
315
|
+
|
316
|
+
|
317
|
+
<li class="public ">
|
318
|
+
<span class="summary_signature">
|
319
|
+
|
320
|
+
<a href="#promise_unlink-instance_method" title="#promise_unlink (instance method)">#<strong>promise_unlink</strong>(other_record, relation_name = nil) ⇒ Promise </a>
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
</span>
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
<span class="summary_desc"><div class='inline'>
|
335
|
+
<p>unlink the two records using a relation determined by other_record.class.</p>
|
336
|
+
</div></span>
|
337
|
+
|
338
|
+
</li>
|
339
|
+
|
340
|
+
|
341
|
+
<li class="public ">
|
342
|
+
<span class="summary_signature">
|
343
|
+
|
344
|
+
<a href="#reflections-instance_method" title="#reflections (instance method)">#<strong>reflections</strong> ⇒ Hash </a>
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
</span>
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
|
358
|
+
<span class="summary_desc"><div class='inline'>
|
359
|
+
<p>introspection.</p>
|
360
|
+
</div></span>
|
361
|
+
|
362
|
+
</li>
|
363
|
+
|
364
|
+
|
365
|
+
<li class="public ">
|
366
|
+
<span class="summary_signature">
|
367
|
+
|
368
|
+
<a href="#reset-instance_method" title="#reset (instance method)">#<strong>reset</strong> ⇒ HyperRecord </a>
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
</span>
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
|
382
|
+
<span class="summary_desc"><div class='inline'>
|
383
|
+
<p>reset properties to last saved value.</p>
|
384
|
+
</div></span>
|
385
|
+
|
386
|
+
</li>
|
387
|
+
|
388
|
+
|
389
|
+
<li class="public ">
|
390
|
+
<span class="summary_signature">
|
391
|
+
|
392
|
+
<a href="#resource_base_uri-instance_method" title="#resource_base_uri (instance method)">#<strong>resource_base_uri</strong> ⇒ String </a>
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
</span>
|
397
|
+
|
398
|
+
|
399
|
+
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
<span class="summary_desc"><div class='inline'>
|
407
|
+
<p>get the resource base uri that is used for api calls, used internally.</p>
|
408
|
+
</div></span>
|
409
|
+
|
410
|
+
</li>
|
411
|
+
|
412
|
+
|
413
|
+
<li class="public ">
|
414
|
+
<span class="summary_signature">
|
415
|
+
|
416
|
+
<a href="#save-instance_method" title="#save (instance method)">#<strong>save</strong> ⇒ HyperRecord </a>
|
417
|
+
|
418
|
+
|
419
|
+
|
420
|
+
</span>
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
|
430
|
+
<span class="summary_desc"><div class='inline'>
|
431
|
+
<p>save record to db, success is assumed.</p>
|
432
|
+
</div></span>
|
433
|
+
|
434
|
+
</li>
|
435
|
+
|
436
|
+
|
437
|
+
<li class="public ">
|
438
|
+
<span class="summary_signature">
|
439
|
+
|
440
|
+
<a href="#to_hash-instance_method" title="#to_hash (instance method)">#<strong>to_hash</strong> ⇒ Hash </a>
|
441
|
+
|
442
|
+
|
443
|
+
|
444
|
+
</span>
|
445
|
+
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
|
452
|
+
|
453
|
+
|
454
|
+
<span class="summary_desc"><div class='inline'>
|
455
|
+
<p>return record properties as Hash.</p>
|
456
|
+
</div></span>
|
457
|
+
|
458
|
+
</li>
|
459
|
+
|
460
|
+
|
461
|
+
<li class="public ">
|
462
|
+
<span class="summary_signature">
|
463
|
+
|
464
|
+
<a href="#to_s-instance_method" title="#to_s (instance method)">#<strong>to_s</strong> ⇒ String </a>
|
465
|
+
|
466
|
+
|
467
|
+
|
468
|
+
</span>
|
469
|
+
|
470
|
+
|
471
|
+
|
472
|
+
|
473
|
+
|
474
|
+
|
475
|
+
|
476
|
+
|
477
|
+
|
478
|
+
<span class="summary_desc"><div class='inline'>
|
479
|
+
<p>return record properties as String.</p>
|
480
|
+
</div></span>
|
481
|
+
|
482
|
+
</li>
|
483
|
+
|
484
|
+
|
485
|
+
<li class="public ">
|
486
|
+
<span class="summary_signature">
|
487
|
+
|
488
|
+
<a href="#unlink-instance_method" title="#unlink (instance method)">#<strong>unlink</strong>(other_record) ⇒ HyperRecord </a>
|
489
|
+
|
490
|
+
|
491
|
+
|
492
|
+
</span>
|
493
|
+
|
494
|
+
|
495
|
+
|
496
|
+
|
497
|
+
|
498
|
+
|
499
|
+
|
500
|
+
|
501
|
+
|
502
|
+
<span class="summary_desc"><div class='inline'>
|
503
|
+
<p>unlink the two records using a relation determined by other_record.class,
|
504
|
+
success is assumed.</p>
|
505
|
+
</div></span>
|
506
|
+
|
507
|
+
</li>
|
508
|
+
|
509
|
+
|
510
|
+
</ul>
|
511
|
+
|
512
|
+
|
513
|
+
<div id="method_missing_details" class="method_details_list">
|
514
|
+
<h2>Dynamic Method Handling</h2>
|
515
|
+
<p class="notice this">
|
516
|
+
This class handles dynamic methods through the <tt>method_missing</tt> method
|
517
|
+
|
518
|
+
</p>
|
519
|
+
|
520
|
+
<div class="method_details first">
|
521
|
+
<h3 class="signature first" id="method_missing-instance_method">
|
522
|
+
|
523
|
+
#<strong>method_missing</strong>(method, arg) ⇒ <tt>Object</tt>
|
524
|
+
|
525
|
+
|
526
|
+
|
527
|
+
|
528
|
+
|
529
|
+
</h3><div class="docstring">
|
530
|
+
<div class="discussion">
|
531
|
+
|
532
|
+
<p>method_missing is used for undeclared properties like in ActiveRecord
|
533
|
+
models</p>
|
534
|
+
|
535
|
+
<p>Two call signatures:</p>
|
536
|
+
<ol><li>
|
537
|
+
<p>the getter:</p>
|
538
|
+
</li></ol>
|
539
|
+
|
540
|
+
<p>a_model.a_undeclared_property, returns the value of a_undeclared_property</p>
|
541
|
+
<ol><li>
|
542
|
+
<p>the setter:</p>
|
543
|
+
</li></ol>
|
544
|
+
|
545
|
+
<p>a_model.a_undeclared_property = value, set a_undeclared_property to value,
|
546
|
+
returns value</p>
|
547
|
+
|
548
|
+
|
549
|
+
</div>
|
550
|
+
</div>
|
551
|
+
<div class="tags">
|
552
|
+
|
553
|
+
|
554
|
+
</div><table class="source_code">
|
555
|
+
<tr>
|
556
|
+
<td>
|
557
|
+
<pre class="lines">
|
558
|
+
|
559
|
+
|
560
|
+
97
|
561
|
+
98
|
562
|
+
99
|
563
|
+
100
|
564
|
+
101
|
565
|
+
102
|
566
|
+
103
|
567
|
+
104
|
568
|
+
105
|
569
|
+
106
|
570
|
+
107
|
571
|
+
108</pre>
|
572
|
+
</td>
|
573
|
+
<td>
|
574
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 97</span>
|
575
|
+
|
576
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='id identifier rubyid_arg'>arg</span><span class='rparen'>)</span>
|
577
|
+
<span class='id identifier rubyid__register_observer'>_register_observer</span>
|
578
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_end_with?'>end_with?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>=</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
579
|
+
<span class='ivar'>@changed_properties</span><span class='lbracket'>[</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_chop'>chop</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_arg'>arg</span>
|
580
|
+
<span class='kw'>else</span>
|
581
|
+
<span class='kw'>if</span> <span class='ivar'>@changed_properties</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
|
582
|
+
<span class='ivar'>@changed_properties</span><span class='lbracket'>[</span><span class='id identifier rubyid_method'>method</span><span class='rbracket'>]</span>
|
583
|
+
<span class='kw'>else</span>
|
584
|
+
<span class='ivar'>@properties</span><span class='lbracket'>[</span><span class='id identifier rubyid_method'>method</span><span class='rbracket'>]</span>
|
585
|
+
<span class='kw'>end</span>
|
586
|
+
<span class='kw'>end</span>
|
587
|
+
<span class='kw'>end</span></pre>
|
588
|
+
</td>
|
589
|
+
</tr>
|
590
|
+
</table>
|
591
|
+
</div>
|
592
|
+
|
593
|
+
</div>
|
594
|
+
|
595
|
+
|
596
|
+
<div id="instance_method_details" class="method_details_list">
|
597
|
+
<h2>Instance Method Details</h2>
|
598
|
+
|
599
|
+
|
600
|
+
<div class="method_details first">
|
601
|
+
<h3 class="signature first" id="_initialize_from_hash-instance_method">
|
602
|
+
|
603
|
+
#<strong>_initialize_from_hash</strong>(record_hash) ⇒ <tt>Object</tt>
|
604
|
+
|
605
|
+
|
606
|
+
|
607
|
+
|
608
|
+
|
609
|
+
</h3><table class="source_code">
|
610
|
+
<tr>
|
611
|
+
<td>
|
612
|
+
<pre class="lines">
|
613
|
+
|
614
|
+
|
615
|
+
31
|
616
|
+
32
|
617
|
+
33
|
618
|
+
34
|
619
|
+
35
|
620
|
+
36
|
621
|
+
37
|
622
|
+
38
|
623
|
+
39
|
624
|
+
40
|
625
|
+
41
|
626
|
+
42
|
627
|
+
43
|
628
|
+
44
|
629
|
+
45
|
630
|
+
46
|
631
|
+
47
|
632
|
+
48
|
633
|
+
49
|
634
|
+
50
|
635
|
+
51
|
636
|
+
52
|
637
|
+
53
|
638
|
+
54
|
639
|
+
55
|
640
|
+
56
|
641
|
+
57
|
642
|
+
58
|
643
|
+
59
|
644
|
+
60
|
645
|
+
61</pre>
|
646
|
+
</td>
|
647
|
+
<td>
|
648
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 31</span>
|
649
|
+
|
650
|
+
<span class='kw'>def</span> <span class='id identifier rubyid__initialize_from_hash'>_initialize_from_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_record_hash'>record_hash</span><span class='rparen'>)</span>
|
651
|
+
<span class='id identifier rubyid_reflections'>reflections</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</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_relation'>relation</span><span class='op'>|</span>
|
652
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_record_hash'>record_hash</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_relation'>relation</span><span class='rparen'>)</span>
|
653
|
+
<span class='ivar'>@fetch_states</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>f</span><span class='tstring_end'>'</span></span> <span class='comment'># fetched
|
654
|
+
</span> <span class='kw'>if</span> <span class='qsymbols_beg'>%i[</span><span class='tstring_content'>has_many</span><span class='words_sep'> </span><span class='tstring_content'>has_and_belongs_to_many</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_reflections'>reflections</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:kind</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
655
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_record_hash'>record_hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
656
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Collection.html" title="HyperRecord::Collection (class)">Collection</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Collection.html#initialize-instance_method" title="HyperRecord::Collection#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_relation'>relation</span><span class='rparen'>)</span>
|
657
|
+
<span class='kw'>else</span>
|
658
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__convert_array_to_collection'>_convert_array_to_collection</span><span class='lparen'>(</span><span class='id identifier rubyid_record_hash'>record_hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_relation'>relation</span><span class='rparen'>)</span>
|
659
|
+
<span class='kw'>end</span>
|
660
|
+
<span class='kw'>else</span>
|
661
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__convert_json_hash_to_record'>_convert_json_hash_to_record</span><span class='lparen'>(</span><span class='id identifier rubyid_record_hash'>record_hash</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
662
|
+
<span class='kw'>end</span>
|
663
|
+
<span class='kw'>else</span>
|
664
|
+
<span class='kw'>unless</span> <span class='ivar'>@fetch_states</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>f</span><span class='tstring_end'>'</span></span>
|
665
|
+
<span class='kw'>if</span> <span class='qsymbols_beg'>%i[</span><span class='tstring_content'>has_many</span><span class='words_sep'> </span><span class='tstring_content'>has_and_belongs_to_many</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_reflections'>reflections</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:kind</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
666
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Collection.html" title="HyperRecord::Collection (class)">Collection</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Collection.html#initialize-instance_method" title="HyperRecord::Collection#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_relation'>relation</span><span class='rparen'>)</span>
|
667
|
+
<span class='kw'>else</span>
|
668
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
669
|
+
<span class='kw'>end</span>
|
670
|
+
<span class='ivar'>@fetch_states</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation'>relation</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>n</span><span class='tstring_end'>'</span></span>
|
671
|
+
<span class='kw'>end</span>
|
672
|
+
<span class='kw'>end</span>
|
673
|
+
<span class='id identifier rubyid_record_hash'>record_hash</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_relation'>relation</span><span class='rparen'>)</span>
|
674
|
+
<span class='kw'>end</span>
|
675
|
+
|
676
|
+
<span class='ivar'>@properties</span> <span class='op'>=</span> <span class='id identifier rubyid_record_hash'>record_hash</span>
|
677
|
+
|
678
|
+
<span class='comment'># cache in global cache
|
679
|
+
</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__record_cache'>_record_cache</span><span class='lbracket'>[</span><span class='ivar'>@properties</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='kw'>self</span> <span class='kw'>if</span> <span class='ivar'>@properties</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='symbol'>:id</span><span class='rparen'>)</span>
|
680
|
+
<span class='kw'>end</span></pre>
|
681
|
+
</td>
|
682
|
+
</tr>
|
683
|
+
</table>
|
684
|
+
</div>
|
685
|
+
|
686
|
+
<div class="method_details ">
|
687
|
+
<h3 class="signature " id="destroy-instance_method">
|
688
|
+
|
689
|
+
#<strong>destroy</strong> ⇒ <tt>Object</tt>
|
690
|
+
|
691
|
+
|
692
|
+
|
693
|
+
|
694
|
+
|
695
|
+
</h3><div class="docstring">
|
696
|
+
<div class="discussion">
|
697
|
+
|
698
|
+
<p>destroy record, success is assumed</p>
|
699
|
+
|
700
|
+
|
701
|
+
</div>
|
702
|
+
</div>
|
703
|
+
<div class="tags">
|
704
|
+
|
705
|
+
<p class="tag_title">Returns:</p>
|
706
|
+
<ul class="return">
|
707
|
+
|
708
|
+
<li>
|
709
|
+
|
710
|
+
|
711
|
+
<span class='type'></span>
|
712
|
+
|
713
|
+
|
714
|
+
|
715
|
+
|
716
|
+
<div class='inline'>
|
717
|
+
<p>nil</p>
|
718
|
+
</div>
|
719
|
+
|
720
|
+
</li>
|
721
|
+
|
722
|
+
</ul>
|
723
|
+
|
724
|
+
</div><table class="source_code">
|
725
|
+
<tr>
|
726
|
+
<td>
|
727
|
+
<pre class="lines">
|
728
|
+
|
729
|
+
|
730
|
+
68
|
731
|
+
69
|
732
|
+
70
|
733
|
+
71</pre>
|
734
|
+
</td>
|
735
|
+
<td>
|
736
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 68</span>
|
737
|
+
|
738
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_destroy'>destroy</span>
|
739
|
+
<span class='id identifier rubyid_promise_destroy'>promise_destroy</span>
|
740
|
+
<span class='kw'>nil</span>
|
741
|
+
<span class='kw'>end</span></pre>
|
742
|
+
</td>
|
743
|
+
</tr>
|
744
|
+
</table>
|
745
|
+
</div>
|
746
|
+
|
747
|
+
<div class="method_details ">
|
748
|
+
<h3 class="signature " id="destroyed?-instance_method">
|
749
|
+
|
750
|
+
#<strong>destroyed?</strong> ⇒ <tt>Boolean</tt>
|
751
|
+
|
752
|
+
|
753
|
+
|
754
|
+
|
755
|
+
|
756
|
+
</h3><div class="docstring">
|
757
|
+
<div class="discussion">
|
758
|
+
|
759
|
+
<p>check if record has been destroyed</p>
|
760
|
+
|
761
|
+
|
762
|
+
</div>
|
763
|
+
</div>
|
764
|
+
<div class="tags">
|
765
|
+
|
766
|
+
<p class="tag_title">Returns:</p>
|
767
|
+
<ul class="return">
|
768
|
+
|
769
|
+
<li>
|
770
|
+
|
771
|
+
|
772
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
773
|
+
|
774
|
+
|
775
|
+
|
776
|
+
</li>
|
777
|
+
|
778
|
+
</ul>
|
779
|
+
|
780
|
+
</div><table class="source_code">
|
781
|
+
<tr>
|
782
|
+
<td>
|
783
|
+
<pre class="lines">
|
784
|
+
|
785
|
+
|
786
|
+
76
|
787
|
+
77
|
788
|
+
78</pre>
|
789
|
+
</td>
|
790
|
+
<td>
|
791
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 76</span>
|
792
|
+
|
793
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_destroyed?'>destroyed?</span>
|
794
|
+
<span class='ivar'>@destroyed</span>
|
795
|
+
<span class='kw'>end</span></pre>
|
796
|
+
</td>
|
797
|
+
</tr>
|
798
|
+
</table>
|
799
|
+
</div>
|
800
|
+
|
801
|
+
<div class="method_details ">
|
802
|
+
<h3 class="signature " id="initialize-instance_method">
|
803
|
+
|
804
|
+
#<strong>initialize</strong>(record_hash = {}) ⇒ <tt>Object</tt>
|
805
|
+
|
806
|
+
|
807
|
+
|
808
|
+
|
809
|
+
|
810
|
+
</h3><div class="docstring">
|
811
|
+
<div class="discussion">
|
812
|
+
|
813
|
+
<p>initialize a new instance of current HyperRecord class</p>
|
814
|
+
|
815
|
+
|
816
|
+
</div>
|
817
|
+
</div>
|
818
|
+
<div class="tags">
|
819
|
+
<p class="tag_title">Parameters:</p>
|
820
|
+
<ul class="param">
|
821
|
+
|
822
|
+
<li>
|
823
|
+
|
824
|
+
<span class='name'>record_hash</span>
|
825
|
+
|
826
|
+
|
827
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
828
|
+
|
829
|
+
|
830
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
831
|
+
|
832
|
+
|
833
|
+
—
|
834
|
+
<div class='inline'>
|
835
|
+
<p>optional, initial values for properties</p>
|
836
|
+
</div>
|
837
|
+
|
838
|
+
</li>
|
839
|
+
|
840
|
+
</ul>
|
841
|
+
|
842
|
+
|
843
|
+
</div><table class="source_code">
|
844
|
+
<tr>
|
845
|
+
<td>
|
846
|
+
<pre class="lines">
|
847
|
+
|
848
|
+
|
849
|
+
7
|
850
|
+
8
|
851
|
+
9
|
852
|
+
10
|
853
|
+
11
|
854
|
+
12
|
855
|
+
13
|
856
|
+
14
|
857
|
+
15
|
858
|
+
16
|
859
|
+
17
|
860
|
+
18
|
861
|
+
19
|
862
|
+
20
|
863
|
+
21
|
864
|
+
22
|
865
|
+
23
|
866
|
+
24
|
867
|
+
25
|
868
|
+
26
|
869
|
+
27
|
870
|
+
28
|
871
|
+
29</pre>
|
872
|
+
</td>
|
873
|
+
<td>
|
874
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 7</span>
|
875
|
+
|
876
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_record_hash'>record_hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
877
|
+
<span class='comment'># initalize internal data structures
|
878
|
+
</span> <span class='id identifier rubyid_record_hash'>record_hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='id identifier rubyid_record_hash'>record_hash</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
879
|
+
<span class='ivar'>@properties</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
880
|
+
<span class='ivar'>@changed_properties</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
881
|
+
<span class='ivar'>@relations</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
882
|
+
<span class='ivar'>@rest_methods</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
883
|
+
<span class='ivar'>@destroyed</span> <span class='op'>=</span> <span class='kw'>false</span>
|
884
|
+
<span class='comment'># for reactivity, possible @fetch_states:
|
885
|
+
</span> <span class='comment'># n - not fetched
|
886
|
+
</span> <span class='comment'># f - fetched
|
887
|
+
</span> <span class='comment'># i - fetch in progress
|
888
|
+
</span> <span class='comment'># u - update needed, fetch on next usage
|
889
|
+
</span> <span class='ivar'>@fetch_states</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
890
|
+
<span class='ivar'>@state_key</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='embexpr_end'>}</span><span class='tstring_content'>_</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_object_id'>object_id</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
891
|
+
<span class='ivar'>@observers</span> <span class='op'>=</span> <span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
892
|
+
<span class='ivar'>@registered_collections</span> <span class='op'>=</span> <span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
|
893
|
+
|
894
|
+
<span class='id identifier rubyid__initialize_from_hash'>_initialize_from_hash</span><span class='lparen'>(</span><span class='id identifier rubyid_record_hash'>record_hash</span><span class='rparen'>)</span>
|
895
|
+
|
896
|
+
<span class='comment'># for reactivity
|
897
|
+
</span> <span class='id identifier rubyid__register_observer'>_register_observer</span>
|
898
|
+
<span class='kw'>end</span></pre>
|
899
|
+
</td>
|
900
|
+
</tr>
|
901
|
+
</table>
|
902
|
+
</div>
|
903
|
+
|
904
|
+
<div class="method_details ">
|
905
|
+
<h3 class="signature " id="link-instance_method">
|
906
|
+
|
907
|
+
#<strong>link</strong>(other_record) ⇒ <tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>
|
908
|
+
|
909
|
+
|
910
|
+
|
911
|
+
|
912
|
+
|
913
|
+
</h3><div class="docstring">
|
914
|
+
<div class="discussion">
|
915
|
+
|
916
|
+
<p>link the two records using a relation determined by other_record.class,
|
917
|
+
success is assumed</p>
|
918
|
+
|
919
|
+
|
920
|
+
</div>
|
921
|
+
</div>
|
922
|
+
<div class="tags">
|
923
|
+
<p class="tag_title">Parameters:</p>
|
924
|
+
<ul class="param">
|
925
|
+
|
926
|
+
<li>
|
927
|
+
|
928
|
+
<span class='name'>other_record</span>
|
929
|
+
|
930
|
+
|
931
|
+
<span class='type'>(<tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>)</span>
|
932
|
+
|
933
|
+
|
934
|
+
|
935
|
+
</li>
|
936
|
+
|
937
|
+
</ul>
|
938
|
+
|
939
|
+
<p class="tag_title">Returns:</p>
|
940
|
+
<ul class="return">
|
941
|
+
|
942
|
+
<li>
|
943
|
+
|
944
|
+
|
945
|
+
<span class='type'>(<tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>)</span>
|
946
|
+
|
947
|
+
|
948
|
+
|
949
|
+
—
|
950
|
+
<div class='inline'>
|
951
|
+
<p>self</p>
|
952
|
+
</div>
|
953
|
+
|
954
|
+
</li>
|
955
|
+
|
956
|
+
</ul>
|
957
|
+
|
958
|
+
</div><table class="source_code">
|
959
|
+
<tr>
|
960
|
+
<td>
|
961
|
+
<pre class="lines">
|
962
|
+
|
963
|
+
|
964
|
+
84
|
965
|
+
85
|
966
|
+
86
|
967
|
+
87
|
968
|
+
88</pre>
|
969
|
+
</td>
|
970
|
+
<td>
|
971
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 84</span>
|
972
|
+
|
973
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_link'>link</span><span class='lparen'>(</span><span class='id identifier rubyid_other_record'>other_record</span><span class='rparen'>)</span>
|
974
|
+
<span class='id identifier rubyid__register_observer'>_register_observer</span>
|
975
|
+
<span class='id identifier rubyid_promise_link'>promise_link</span><span class='lparen'>(</span><span class='id identifier rubyid_other_record'>other_record</span><span class='rparen'>)</span>
|
976
|
+
<span class='kw'>self</span>
|
977
|
+
<span class='kw'>end</span></pre>
|
978
|
+
</td>
|
979
|
+
</tr>
|
980
|
+
</table>
|
981
|
+
</div>
|
982
|
+
|
983
|
+
<div class="method_details ">
|
984
|
+
<h3 class="signature " id="promise_destroy-instance_method">
|
985
|
+
|
986
|
+
#<strong>promise_destroy</strong> ⇒ <tt>Promise</tt>
|
987
|
+
|
988
|
+
|
989
|
+
|
990
|
+
|
991
|
+
|
992
|
+
</h3><div class="docstring">
|
993
|
+
<div class="discussion">
|
994
|
+
|
995
|
+
<p>destroy record</p>
|
996
|
+
|
997
|
+
|
998
|
+
</div>
|
999
|
+
</div>
|
1000
|
+
<div class="tags">
|
1001
|
+
|
1002
|
+
<p class="tag_title">Returns:</p>
|
1003
|
+
<ul class="return">
|
1004
|
+
|
1005
|
+
<li>
|
1006
|
+
|
1007
|
+
|
1008
|
+
<span class='type'>(<tt>Promise</tt>)</span>
|
1009
|
+
|
1010
|
+
|
1011
|
+
|
1012
|
+
—
|
1013
|
+
<div class='inline'>
|
1014
|
+
<p>on success the record is passed to the .then block on failure the HTTP
|
1015
|
+
response is passed to the .fail block</p>
|
1016
|
+
</div>
|
1017
|
+
|
1018
|
+
</li>
|
1019
|
+
|
1020
|
+
</ul>
|
1021
|
+
|
1022
|
+
</div><table class="source_code">
|
1023
|
+
<tr>
|
1024
|
+
<td>
|
1025
|
+
<pre class="lines">
|
1026
|
+
|
1027
|
+
|
1028
|
+
174
|
1029
|
+
175
|
1030
|
+
176
|
1031
|
+
177
|
1032
|
+
178
|
1033
|
+
179
|
1034
|
+
180
|
1035
|
+
181
|
1036
|
+
182
|
1037
|
+
183</pre>
|
1038
|
+
</td>
|
1039
|
+
<td>
|
1040
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 174</span>
|
1041
|
+
|
1042
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_promise_destroy'>promise_destroy</span>
|
1043
|
+
<span class='id identifier rubyid__local_destroy'>_local_destroy</span>
|
1044
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__promise_delete'>_promise_delete</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_resource_base_uri'>resource_base_uri</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@properties</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_then'>then</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_record'>record</span><span class='op'>|</span>
|
1045
|
+
<span class='kw'>self</span>
|
1046
|
+
<span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_fail'>fail</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1047
|
+
<span class='id identifier rubyid_error_message'>error_message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Destroying record </span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='embexpr_end'>}</span><span class='tstring_content'> failed!</span><span class='tstring_end'>"</span></span>
|
1048
|
+
<span class='backtick'>`</span><span class='tstring_content'>console.error(error_message)</span><span class='tstring_end'>`</span></span>
|
1049
|
+
<span class='id identifier rubyid_response'>response</span>
|
1050
|
+
<span class='kw'>end</span>
|
1051
|
+
<span class='kw'>end</span></pre>
|
1052
|
+
</td>
|
1053
|
+
</tr>
|
1054
|
+
</table>
|
1055
|
+
</div>
|
1056
|
+
|
1057
|
+
<div class="method_details ">
|
1058
|
+
<h3 class="signature " id="promise_link-instance_method">
|
1059
|
+
|
1060
|
+
#<strong>promise_link</strong>(other_record, relation_name = nil) ⇒ <tt>Promise</tt>
|
1061
|
+
|
1062
|
+
|
1063
|
+
|
1064
|
+
|
1065
|
+
|
1066
|
+
</h3><div class="docstring">
|
1067
|
+
<div class="discussion">
|
1068
|
+
|
1069
|
+
<p>link the two records using a relation determined by other_record.class</p>
|
1070
|
+
|
1071
|
+
|
1072
|
+
</div>
|
1073
|
+
</div>
|
1074
|
+
<div class="tags">
|
1075
|
+
<p class="tag_title">Parameters:</p>
|
1076
|
+
<ul class="param">
|
1077
|
+
|
1078
|
+
<li>
|
1079
|
+
|
1080
|
+
<span class='name'>other_record</span>
|
1081
|
+
|
1082
|
+
|
1083
|
+
<span class='type'>(<tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>)</span>
|
1084
|
+
|
1085
|
+
|
1086
|
+
|
1087
|
+
</li>
|
1088
|
+
|
1089
|
+
</ul>
|
1090
|
+
|
1091
|
+
<p class="tag_title">Returns:</p>
|
1092
|
+
<ul class="return">
|
1093
|
+
|
1094
|
+
<li>
|
1095
|
+
|
1096
|
+
|
1097
|
+
<span class='type'>(<tt>Promise</tt>)</span>
|
1098
|
+
|
1099
|
+
|
1100
|
+
|
1101
|
+
—
|
1102
|
+
<div class='inline'>
|
1103
|
+
<p>on success the record is passed to the .then block on failure the HTTP
|
1104
|
+
response is passed to the .fail block</p>
|
1105
|
+
</div>
|
1106
|
+
|
1107
|
+
</li>
|
1108
|
+
|
1109
|
+
</ul>
|
1110
|
+
|
1111
|
+
</div><table class="source_code">
|
1112
|
+
<tr>
|
1113
|
+
<td>
|
1114
|
+
<pre class="lines">
|
1115
|
+
|
1116
|
+
|
1117
|
+
190
|
1118
|
+
191
|
1119
|
+
192
|
1120
|
+
193
|
1121
|
+
194
|
1122
|
+
195
|
1123
|
+
196
|
1124
|
+
197
|
1125
|
+
198
|
1126
|
+
199
|
1127
|
+
200
|
1128
|
+
201
|
1129
|
+
202
|
1130
|
+
203
|
1131
|
+
204
|
1132
|
+
205
|
1133
|
+
206
|
1134
|
+
207
|
1135
|
+
208
|
1136
|
+
209
|
1137
|
+
210
|
1138
|
+
211
|
1139
|
+
212
|
1140
|
+
213
|
1141
|
+
214
|
1142
|
+
215
|
1143
|
+
216
|
1144
|
+
217
|
1145
|
+
218
|
1146
|
+
219
|
1147
|
+
220
|
1148
|
+
221
|
1149
|
+
222
|
1150
|
+
223
|
1151
|
+
224
|
1152
|
+
225</pre>
|
1153
|
+
</td>
|
1154
|
+
<td>
|
1155
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 190</span>
|
1156
|
+
|
1157
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_promise_link'>promise_link</span><span class='lparen'>(</span><span class='id identifier rubyid_other_record'>other_record</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>
|
1158
|
+
<span class='id identifier rubyid_called_from_collection'>called_from_collection</span> <span class='op'>=</span> <span class='id identifier rubyid_relation_name'>relation_name</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
|
1159
|
+
<span class='id identifier rubyid_relation_name'>relation_name</span> <span class='op'>=</span> <span class='id identifier rubyid_other_record'>other_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='period'>.</span><span class='id identifier rubyid_underscore'>underscore</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span> <span class='kw'>unless</span> <span class='id identifier rubyid_relation_name'>relation_name</span>
|
1160
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_reflections'>reflections</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rparen'>)</span>
|
1161
|
+
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_called_from_collection'>called_from_collection</span> <span class='op'>&&</span> <span class='ivar'>@fetch_states</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>f</span><span class='tstring_end'>'</span></span>
|
1162
|
+
<span class='kw'>if</span> <span class='qsymbols_beg'>%i[</span><span class='tstring_content'>has_many</span><span class='words_sep'> </span><span class='tstring_content'>has_and_belongs_to_many</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_reflections'>reflections</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:kind</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1163
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Collection.html" title="HyperRecord::Collection (class)">Collection</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Collection.html#initialize-instance_method" title="HyperRecord::Collection#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_relation_name'>relation_name</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
1164
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_other_record'>other_record</span><span class='rparen'>)</span>
|
1165
|
+
<span class='kw'>else</span>
|
1166
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_other_record'>other_record</span>
|
1167
|
+
<span class='kw'>end</span>
|
1168
|
+
<span class='kw'>end</span>
|
1169
|
+
<span class='kw'>else</span>
|
1170
|
+
<span class='id identifier rubyid_relation_name'>relation_name</span> <span class='op'>=</span> <span class='id identifier rubyid_other_record'>other_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='period'>.</span><span class='id identifier rubyid_underscore'>underscore</span>
|
1171
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No collection for record of type </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_other_record'>other_record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_reflections'>reflections</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rparen'>)</span>
|
1172
|
+
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_called_from_collection'>called_from_collection</span> <span class='op'>&&</span> <span class='ivar'>@fetch_states</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>f</span><span class='tstring_end'>'</span></span>
|
1173
|
+
<span class='kw'>if</span> <span class='qsymbols_beg'>%i[</span><span class='tstring_content'>has_many</span><span class='words_sep'> </span><span class='tstring_content'>has_and_belongs_to_many</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_reflections'>reflections</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='symbol'>:kind</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1174
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Collection.html" title="HyperRecord::Collection (class)">Collection</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Collection.html#initialize-instance_method" title="HyperRecord::Collection#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_relation_name'>relation_name</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
1175
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_other_record'>other_record</span><span class='rparen'>)</span>
|
1176
|
+
<span class='kw'>else</span>
|
1177
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_other_record'>other_record</span>
|
1178
|
+
<span class='kw'>end</span>
|
1179
|
+
<span class='kw'>end</span>
|
1180
|
+
<span class='kw'>end</span>
|
1181
|
+
<span class='id identifier rubyid_payload_hash'>payload_hash</span> <span class='op'>=</span> <span class='id identifier rubyid_other_record'>other_record</span><span class='period'>.</span><span class='id identifier rubyid_to_hash'>to_hash</span>
|
1182
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__promise_post'>_promise_post</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_resource_base_uri'>resource_base_uri</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_id'>id</span><span class='embexpr_end'>}</span><span class='tstring_content'>/relations/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.json</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>data:</span> <span class='id identifier rubyid_payload_hash'>payload_hash</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_then'>then</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1183
|
+
<span class='id identifier rubyid_other_record'>other_record</span><span class='period'>.</span><span class='id identifier rubyid_instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='symbol'>:merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span><span class='lbracket'>[</span><span class='id identifier rubyid_other_record'>other_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='period'>.</span><span class='id identifier rubyid_underscore'>underscore</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1184
|
+
<span class='id identifier rubyid__notify_observers'>_notify_observers</span>
|
1185
|
+
<span class='id identifier rubyid_other_record'>other_record</span><span class='period'>.</span><span class='id identifier rubyid__notify_observers'>_notify_observers</span>
|
1186
|
+
<span class='kw'>self</span>
|
1187
|
+
<span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_fail'>fail</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1188
|
+
<span class='id identifier rubyid_error_message'>error_message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Linking record </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_other_record'>other_record</span><span class='embexpr_end'>}</span><span class='tstring_content'> to </span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='embexpr_end'>}</span><span class='tstring_content'> failed!</span><span class='tstring_end'>"</span></span>
|
1189
|
+
<span class='backtick'>`</span><span class='tstring_content'>console.error(error_message)</span><span class='tstring_end'>`</span></span>
|
1190
|
+
<span class='id identifier rubyid_response'>response</span>
|
1191
|
+
<span class='kw'>end</span>
|
1192
|
+
<span class='kw'>end</span></pre>
|
1193
|
+
</td>
|
1194
|
+
</tr>
|
1195
|
+
</table>
|
1196
|
+
</div>
|
1197
|
+
|
1198
|
+
<div class="method_details ">
|
1199
|
+
<h3 class="signature " id="promise_save-instance_method">
|
1200
|
+
|
1201
|
+
#<strong>promise_save</strong> ⇒ <tt>Promise</tt>
|
1202
|
+
|
1203
|
+
|
1204
|
+
|
1205
|
+
|
1206
|
+
|
1207
|
+
</h3><div class="docstring">
|
1208
|
+
<div class="discussion">
|
1209
|
+
|
1210
|
+
<p>save record</p>
|
1211
|
+
|
1212
|
+
|
1213
|
+
</div>
|
1214
|
+
</div>
|
1215
|
+
<div class="tags">
|
1216
|
+
|
1217
|
+
<p class="tag_title">Returns:</p>
|
1218
|
+
<ul class="return">
|
1219
|
+
|
1220
|
+
<li>
|
1221
|
+
|
1222
|
+
|
1223
|
+
<span class='type'>(<tt>Promise</tt>)</span>
|
1224
|
+
|
1225
|
+
|
1226
|
+
|
1227
|
+
—
|
1228
|
+
<div class='inline'>
|
1229
|
+
<p>on success the record is passed to the .then block on failure the HTTP
|
1230
|
+
response is passed to the .fail block</p>
|
1231
|
+
</div>
|
1232
|
+
|
1233
|
+
</li>
|
1234
|
+
|
1235
|
+
</ul>
|
1236
|
+
|
1237
|
+
</div><table class="source_code">
|
1238
|
+
<tr>
|
1239
|
+
<td>
|
1240
|
+
<pre class="lines">
|
1241
|
+
|
1242
|
+
|
1243
|
+
231
|
1244
|
+
232
|
1245
|
+
233
|
1246
|
+
234
|
1247
|
+
235
|
1248
|
+
236
|
1249
|
+
237
|
1250
|
+
238
|
1251
|
+
239
|
1252
|
+
240
|
1253
|
+
241
|
1254
|
+
242
|
1255
|
+
243
|
1256
|
+
244
|
1257
|
+
245
|
1258
|
+
246
|
1259
|
+
247
|
1260
|
+
248
|
1261
|
+
249
|
1262
|
+
250
|
1263
|
+
251
|
1264
|
+
252
|
1265
|
+
253
|
1266
|
+
254
|
1267
|
+
255
|
1268
|
+
256
|
1269
|
+
257
|
1270
|
+
258</pre>
|
1271
|
+
</td>
|
1272
|
+
<td>
|
1273
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 231</span>
|
1274
|
+
|
1275
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_promise_save'>promise_save</span>
|
1276
|
+
<span class='id identifier rubyid_payload_hash'>payload_hash</span> <span class='op'>=</span> <span class='ivar'>@properties</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='ivar'>@changed_properties</span><span class='rparen'>)</span> <span class='comment'># copy hash, because we need to delete some keys
|
1277
|
+
</span> <span class='lparen'>(</span><span class='qsymbols_beg'>%i[</span><span class='tstring_content'>id</span><span class='words_sep'> </span><span class='tstring_content'>created_at</span><span class='words_sep'> </span><span class='tstring_content'>updated_at</span><span class='tstring_end'>]</span></span> <span class='op'>+</span> <span class='id identifier rubyid_reflections'>reflections</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_key'>key</span><span class='op'>|</span>
|
1278
|
+
<span class='id identifier rubyid_payload_hash'>payload_hash</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_key'>key</span><span class='rparen'>)</span>
|
1279
|
+
<span class='kw'>end</span>
|
1280
|
+
<span class='kw'>if</span> <span class='ivar'>@properties</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span> <span class='op'>&&</span> <span class='op'>!</span> <span class='lparen'>(</span><span class='ivar'>@changed_properties</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='symbol'>:id</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='ivar'>@changed_properties</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span><span class='rparen'>)</span>
|
1281
|
+
<span class='id identifier rubyid_reset'>reset</span>
|
1282
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__promise_patch'>_promise_patch</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_resource_base_uri'>resource_base_uri</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@properties</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>data:</span> <span class='id identifier rubyid_payload_hash'>payload_hash</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_then'>then</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1283
|
+
<span class='ivar'>@properties</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_underscore'>underscore</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1284
|
+
<span class='id identifier rubyid__notify_observers'>_notify_observers</span>
|
1285
|
+
<span class='kw'>self</span>
|
1286
|
+
<span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_fail'>fail</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1287
|
+
<span class='id identifier rubyid_error_message'>error_message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Saving record </span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='embexpr_end'>}</span><span class='tstring_content'> failed!</span><span class='tstring_end'>"</span></span>
|
1288
|
+
<span class='backtick'>`</span><span class='tstring_content'>console.error(error_message)</span><span class='tstring_end'>`</span></span>
|
1289
|
+
<span class='id identifier rubyid_response'>response</span>
|
1290
|
+
<span class='kw'>end</span>
|
1291
|
+
<span class='kw'>else</span>
|
1292
|
+
<span class='id identifier rubyid_reset'>reset</span>
|
1293
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__promise_post'>_promise_post</span><span class='lparen'>(</span><span class='id identifier rubyid_resource_base_uri'>resource_base_uri</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>data:</span> <span class='id identifier rubyid_payload_hash'>payload_hash</span> <span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_then'>then</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1294
|
+
<span class='ivar'>@properties</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span><span class='lbracket'>[</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_underscore'>underscore</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
1295
|
+
<span class='kw'>self</span>
|
1296
|
+
<span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_fail'>fail</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1297
|
+
<span class='id identifier rubyid_error_message'>error_message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Creating record </span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='embexpr_end'>}</span><span class='tstring_content'> failed!</span><span class='tstring_end'>"</span></span>
|
1298
|
+
<span class='backtick'>`</span><span class='tstring_content'>console.error(error_message)</span><span class='tstring_end'>`</span></span>
|
1299
|
+
<span class='id identifier rubyid_response'>response</span>
|
1300
|
+
<span class='kw'>end</span>
|
1301
|
+
<span class='kw'>end</span>
|
1302
|
+
<span class='kw'>end</span></pre>
|
1303
|
+
</td>
|
1304
|
+
</tr>
|
1305
|
+
</table>
|
1306
|
+
</div>
|
1307
|
+
|
1308
|
+
<div class="method_details ">
|
1309
|
+
<h3 class="signature " id="promise_unlink-instance_method">
|
1310
|
+
|
1311
|
+
#<strong>promise_unlink</strong>(other_record, relation_name = nil) ⇒ <tt>Promise</tt>
|
1312
|
+
|
1313
|
+
|
1314
|
+
|
1315
|
+
|
1316
|
+
|
1317
|
+
</h3><div class="docstring">
|
1318
|
+
<div class="discussion">
|
1319
|
+
|
1320
|
+
<p>unlink the two records using a relation determined by other_record.class</p>
|
1321
|
+
|
1322
|
+
|
1323
|
+
</div>
|
1324
|
+
</div>
|
1325
|
+
<div class="tags">
|
1326
|
+
<p class="tag_title">Parameters:</p>
|
1327
|
+
<ul class="param">
|
1328
|
+
|
1329
|
+
<li>
|
1330
|
+
|
1331
|
+
<span class='name'>other_record</span>
|
1332
|
+
|
1333
|
+
|
1334
|
+
<span class='type'>(<tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>)</span>
|
1335
|
+
|
1336
|
+
|
1337
|
+
|
1338
|
+
</li>
|
1339
|
+
|
1340
|
+
</ul>
|
1341
|
+
|
1342
|
+
<p class="tag_title">Returns:</p>
|
1343
|
+
<ul class="return">
|
1344
|
+
|
1345
|
+
<li>
|
1346
|
+
|
1347
|
+
|
1348
|
+
<span class='type'>(<tt>Promise</tt>)</span>
|
1349
|
+
|
1350
|
+
|
1351
|
+
|
1352
|
+
—
|
1353
|
+
<div class='inline'>
|
1354
|
+
<p>on success the record is passed to the .then block on failure the HTTP
|
1355
|
+
response is passed to the .fail block</p>
|
1356
|
+
</div>
|
1357
|
+
|
1358
|
+
</li>
|
1359
|
+
|
1360
|
+
</ul>
|
1361
|
+
|
1362
|
+
</div><table class="source_code">
|
1363
|
+
<tr>
|
1364
|
+
<td>
|
1365
|
+
<pre class="lines">
|
1366
|
+
|
1367
|
+
|
1368
|
+
265
|
1369
|
+
266
|
1370
|
+
267
|
1371
|
+
268
|
1372
|
+
269
|
1373
|
+
270
|
1374
|
+
271
|
1375
|
+
272
|
1376
|
+
273
|
1377
|
+
274
|
1378
|
+
275
|
1379
|
+
276
|
1380
|
+
277
|
1381
|
+
278
|
1382
|
+
279</pre>
|
1383
|
+
</td>
|
1384
|
+
<td>
|
1385
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 265</span>
|
1386
|
+
|
1387
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_promise_unlink'>promise_unlink</span><span class='lparen'>(</span><span class='id identifier rubyid_other_record'>other_record</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>
|
1388
|
+
<span class='id identifier rubyid_called_from_collection'>called_from_collection</span> <span class='op'>=</span> <span class='id identifier rubyid_collection_name'>collection_name</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
|
1389
|
+
<span class='id identifier rubyid_relation_name'>relation_name</span> <span class='op'>=</span> <span class='id identifier rubyid_other_record'>other_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='period'>.</span><span class='id identifier rubyid_underscore'>underscore</span><span class='period'>.</span><span class='id identifier rubyid_pluralize'>pluralize</span> <span class='kw'>unless</span> <span class='id identifier rubyid_relation_name'>relation_name</span>
|
1390
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No relation for record of type </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_other_record'>other_record</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_reflections'>reflections</span><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rparen'>)</span>
|
1391
|
+
<span class='ivar'>@relations</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_delete_if'>delete_if</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_cr'>cr</span><span class='op'>|</span> <span class='id identifier rubyid_cr'>cr</span> <span class='op'>==</span> <span class='id identifier rubyid_other_record'>other_record</span> <span class='rbrace'>}</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_called_from_collection'>called_from_collection</span> <span class='op'>&&</span> <span class='ivar'>@fetch_states</span><span class='lbracket'>[</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>f</span><span class='tstring_end'>'</span></span>
|
1392
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid__promise_delete'>_promise_delete</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_resource_base_uri'>resource_base_uri</span><span class='embexpr_end'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@properties</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='embexpr_end'>}</span><span class='tstring_content'>/relations/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_relation_name'>relation_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.json?record_id=</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_other_record'>other_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='period'>.</span><span class='id identifier rubyid_then'>then</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1393
|
+
<span class='id identifier rubyid__notify_observers'>_notify_observers</span>
|
1394
|
+
<span class='id identifier rubyid_other_record'>other_record</span><span class='period'>.</span><span class='id identifier rubyid__notify_observers'>_notify_observers</span>
|
1395
|
+
<span class='kw'>self</span>
|
1396
|
+
<span class='kw'>end</span><span class='period'>.</span><span class='id identifier rubyid_fail'>fail</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_response'>response</span><span class='op'>|</span>
|
1397
|
+
<span class='id identifier rubyid_error_message'>error_message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Unlinking </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_other_record'>other_record</span><span class='embexpr_end'>}</span><span class='tstring_content'> from </span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='embexpr_end'>}</span><span class='tstring_content'> failed!</span><span class='tstring_end'>"</span></span>
|
1398
|
+
<span class='backtick'>`</span><span class='tstring_content'>console.error(error_message)</span><span class='tstring_end'>`</span></span>
|
1399
|
+
<span class='id identifier rubyid_response'>response</span>
|
1400
|
+
<span class='kw'>end</span>
|
1401
|
+
<span class='kw'>end</span></pre>
|
1402
|
+
</td>
|
1403
|
+
</tr>
|
1404
|
+
</table>
|
1405
|
+
</div>
|
1406
|
+
|
1407
|
+
<div class="method_details ">
|
1408
|
+
<h3 class="signature " id="reflections-instance_method">
|
1409
|
+
|
1410
|
+
#<strong>reflections</strong> ⇒ <tt>Hash</tt>
|
1411
|
+
|
1412
|
+
|
1413
|
+
|
1414
|
+
|
1415
|
+
|
1416
|
+
</h3><div class="docstring">
|
1417
|
+
<div class="discussion">
|
1418
|
+
|
1419
|
+
<p>introspection</p>
|
1420
|
+
|
1421
|
+
|
1422
|
+
</div>
|
1423
|
+
</div>
|
1424
|
+
<div class="tags">
|
1425
|
+
|
1426
|
+
<p class="tag_title">Returns:</p>
|
1427
|
+
<ul class="return">
|
1428
|
+
|
1429
|
+
<li>
|
1430
|
+
|
1431
|
+
|
1432
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1433
|
+
|
1434
|
+
|
1435
|
+
|
1436
|
+
</li>
|
1437
|
+
|
1438
|
+
</ul>
|
1439
|
+
|
1440
|
+
</div><table class="source_code">
|
1441
|
+
<tr>
|
1442
|
+
<td>
|
1443
|
+
<pre class="lines">
|
1444
|
+
|
1445
|
+
|
1446
|
+
112
|
1447
|
+
113
|
1448
|
+
114</pre>
|
1449
|
+
</td>
|
1450
|
+
<td>
|
1451
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 112</span>
|
1452
|
+
|
1453
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_reflections'>reflections</span>
|
1454
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_reflections'>reflections</span>
|
1455
|
+
<span class='kw'>end</span></pre>
|
1456
|
+
</td>
|
1457
|
+
</tr>
|
1458
|
+
</table>
|
1459
|
+
</div>
|
1460
|
+
|
1461
|
+
<div class="method_details ">
|
1462
|
+
<h3 class="signature " id="reset-instance_method">
|
1463
|
+
|
1464
|
+
#<strong>reset</strong> ⇒ <tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>
|
1465
|
+
|
1466
|
+
|
1467
|
+
|
1468
|
+
|
1469
|
+
|
1470
|
+
</h3><div class="docstring">
|
1471
|
+
<div class="discussion">
|
1472
|
+
|
1473
|
+
<p>reset properties to last saved value</p>
|
1474
|
+
|
1475
|
+
|
1476
|
+
</div>
|
1477
|
+
</div>
|
1478
|
+
<div class="tags">
|
1479
|
+
|
1480
|
+
<p class="tag_title">Returns:</p>
|
1481
|
+
<ul class="return">
|
1482
|
+
|
1483
|
+
<li>
|
1484
|
+
|
1485
|
+
|
1486
|
+
<span class='type'>(<tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>)</span>
|
1487
|
+
|
1488
|
+
|
1489
|
+
|
1490
|
+
—
|
1491
|
+
<div class='inline'>
|
1492
|
+
<p>self</p>
|
1493
|
+
</div>
|
1494
|
+
|
1495
|
+
</li>
|
1496
|
+
|
1497
|
+
</ul>
|
1498
|
+
|
1499
|
+
</div><table class="source_code">
|
1500
|
+
<tr>
|
1501
|
+
<td>
|
1502
|
+
<pre class="lines">
|
1503
|
+
|
1504
|
+
|
1505
|
+
119
|
1506
|
+
120
|
1507
|
+
121
|
1508
|
+
122
|
1509
|
+
123</pre>
|
1510
|
+
</td>
|
1511
|
+
<td>
|
1512
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 119</span>
|
1513
|
+
|
1514
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_reset'>reset</span>
|
1515
|
+
<span class='id identifier rubyid__register_observer'>_register_observer</span>
|
1516
|
+
<span class='ivar'>@changed_properties</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
1517
|
+
<span class='kw'>self</span>
|
1518
|
+
<span class='kw'>end</span></pre>
|
1519
|
+
</td>
|
1520
|
+
</tr>
|
1521
|
+
</table>
|
1522
|
+
</div>
|
1523
|
+
|
1524
|
+
<div class="method_details ">
|
1525
|
+
<h3 class="signature " id="resource_base_uri-instance_method">
|
1526
|
+
|
1527
|
+
#<strong>resource_base_uri</strong> ⇒ <tt>String</tt>
|
1528
|
+
|
1529
|
+
|
1530
|
+
|
1531
|
+
|
1532
|
+
|
1533
|
+
</h3><div class="docstring">
|
1534
|
+
<div class="discussion">
|
1535
|
+
|
1536
|
+
<p>get the resource base uri that is used for api calls, used internally</p>
|
1537
|
+
|
1538
|
+
|
1539
|
+
</div>
|
1540
|
+
</div>
|
1541
|
+
<div class="tags">
|
1542
|
+
|
1543
|
+
<p class="tag_title">Returns:</p>
|
1544
|
+
<ul class="return">
|
1545
|
+
|
1546
|
+
<li>
|
1547
|
+
|
1548
|
+
|
1549
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1550
|
+
|
1551
|
+
|
1552
|
+
|
1553
|
+
</li>
|
1554
|
+
|
1555
|
+
</ul>
|
1556
|
+
|
1557
|
+
</div><table class="source_code">
|
1558
|
+
<tr>
|
1559
|
+
<td>
|
1560
|
+
<pre class="lines">
|
1561
|
+
|
1562
|
+
|
1563
|
+
128
|
1564
|
+
129
|
1565
|
+
130</pre>
|
1566
|
+
</td>
|
1567
|
+
<td>
|
1568
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 128</span>
|
1569
|
+
|
1570
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_resource_base_uri'>resource_base_uri</span>
|
1571
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_resource_base_uri'>resource_base_uri</span>
|
1572
|
+
<span class='kw'>end</span></pre>
|
1573
|
+
</td>
|
1574
|
+
</tr>
|
1575
|
+
</table>
|
1576
|
+
</div>
|
1577
|
+
|
1578
|
+
<div class="method_details ">
|
1579
|
+
<h3 class="signature " id="save-instance_method">
|
1580
|
+
|
1581
|
+
#<strong>save</strong> ⇒ <tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>
|
1582
|
+
|
1583
|
+
|
1584
|
+
|
1585
|
+
|
1586
|
+
|
1587
|
+
</h3><div class="docstring">
|
1588
|
+
<div class="discussion">
|
1589
|
+
|
1590
|
+
<p>save record to db, success is assumed</p>
|
1591
|
+
|
1592
|
+
|
1593
|
+
</div>
|
1594
|
+
</div>
|
1595
|
+
<div class="tags">
|
1596
|
+
|
1597
|
+
<p class="tag_title">Returns:</p>
|
1598
|
+
<ul class="return">
|
1599
|
+
|
1600
|
+
<li>
|
1601
|
+
|
1602
|
+
|
1603
|
+
<span class='type'>(<tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>)</span>
|
1604
|
+
|
1605
|
+
|
1606
|
+
|
1607
|
+
—
|
1608
|
+
<div class='inline'>
|
1609
|
+
<p>self</p>
|
1610
|
+
</div>
|
1611
|
+
|
1612
|
+
</li>
|
1613
|
+
|
1614
|
+
</ul>
|
1615
|
+
|
1616
|
+
</div><table class="source_code">
|
1617
|
+
<tr>
|
1618
|
+
<td>
|
1619
|
+
<pre class="lines">
|
1620
|
+
|
1621
|
+
|
1622
|
+
135
|
1623
|
+
136
|
1624
|
+
137
|
1625
|
+
138
|
1626
|
+
139</pre>
|
1627
|
+
</td>
|
1628
|
+
<td>
|
1629
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 135</span>
|
1630
|
+
|
1631
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_save'>save</span>
|
1632
|
+
<span class='id identifier rubyid__register_observer'>_register_observer</span>
|
1633
|
+
<span class='id identifier rubyid_promise_save'>promise_save</span>
|
1634
|
+
<span class='kw'>self</span>
|
1635
|
+
<span class='kw'>end</span></pre>
|
1636
|
+
</td>
|
1637
|
+
</tr>
|
1638
|
+
</table>
|
1639
|
+
</div>
|
1640
|
+
|
1641
|
+
<div class="method_details ">
|
1642
|
+
<h3 class="signature " id="to_hash-instance_method">
|
1643
|
+
|
1644
|
+
#<strong>to_hash</strong> ⇒ <tt>Hash</tt>
|
1645
|
+
|
1646
|
+
|
1647
|
+
|
1648
|
+
|
1649
|
+
|
1650
|
+
</h3><div class="docstring">
|
1651
|
+
<div class="discussion">
|
1652
|
+
|
1653
|
+
<p>return record properties as Hash</p>
|
1654
|
+
|
1655
|
+
|
1656
|
+
</div>
|
1657
|
+
</div>
|
1658
|
+
<div class="tags">
|
1659
|
+
|
1660
|
+
<p class="tag_title">Returns:</p>
|
1661
|
+
<ul class="return">
|
1662
|
+
|
1663
|
+
<li>
|
1664
|
+
|
1665
|
+
|
1666
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1667
|
+
|
1668
|
+
|
1669
|
+
|
1670
|
+
</li>
|
1671
|
+
|
1672
|
+
</ul>
|
1673
|
+
|
1674
|
+
</div><table class="source_code">
|
1675
|
+
<tr>
|
1676
|
+
<td>
|
1677
|
+
<pre class="lines">
|
1678
|
+
|
1679
|
+
|
1680
|
+
144
|
1681
|
+
145
|
1682
|
+
146
|
1683
|
+
147
|
1684
|
+
148
|
1685
|
+
149</pre>
|
1686
|
+
</td>
|
1687
|
+
<td>
|
1688
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 144</span>
|
1689
|
+
|
1690
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_to_hash'>to_hash</span>
|
1691
|
+
<span class='id identifier rubyid__register_observer'>_register_observer</span>
|
1692
|
+
<span class='id identifier rubyid_res'>res</span> <span class='op'>=</span> <span class='ivar'>@properties</span><span class='period'>.</span><span class='id identifier rubyid_dup'>dup</span>
|
1693
|
+
<span class='id identifier rubyid_res'>res</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='ivar'>@changed_properties</span><span class='rparen'>)</span>
|
1694
|
+
<span class='id identifier rubyid_res'>res</span>
|
1695
|
+
<span class='kw'>end</span></pre>
|
1696
|
+
</td>
|
1697
|
+
</tr>
|
1698
|
+
</table>
|
1699
|
+
</div>
|
1700
|
+
|
1701
|
+
<div class="method_details ">
|
1702
|
+
<h3 class="signature " id="to_s-instance_method">
|
1703
|
+
|
1704
|
+
#<strong>to_s</strong> ⇒ <tt>String</tt>
|
1705
|
+
|
1706
|
+
|
1707
|
+
|
1708
|
+
|
1709
|
+
|
1710
|
+
</h3><div class="docstring">
|
1711
|
+
<div class="discussion">
|
1712
|
+
|
1713
|
+
<p>return record properties as String</p>
|
1714
|
+
|
1715
|
+
|
1716
|
+
</div>
|
1717
|
+
</div>
|
1718
|
+
<div class="tags">
|
1719
|
+
|
1720
|
+
<p class="tag_title">Returns:</p>
|
1721
|
+
<ul class="return">
|
1722
|
+
|
1723
|
+
<li>
|
1724
|
+
|
1725
|
+
|
1726
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1727
|
+
|
1728
|
+
|
1729
|
+
|
1730
|
+
</li>
|
1731
|
+
|
1732
|
+
</ul>
|
1733
|
+
|
1734
|
+
</div><table class="source_code">
|
1735
|
+
<tr>
|
1736
|
+
<td>
|
1737
|
+
<pre class="lines">
|
1738
|
+
|
1739
|
+
|
1740
|
+
154
|
1741
|
+
155
|
1742
|
+
156
|
1743
|
+
157</pre>
|
1744
|
+
</td>
|
1745
|
+
<td>
|
1746
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 154</span>
|
1747
|
+
|
1748
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
|
1749
|
+
<span class='id identifier rubyid__register_observer'>_register_observer</span>
|
1750
|
+
<span class='ivar'>@properties</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
1751
|
+
<span class='kw'>end</span></pre>
|
1752
|
+
</td>
|
1753
|
+
</tr>
|
1754
|
+
</table>
|
1755
|
+
</div>
|
1756
|
+
|
1757
|
+
<div class="method_details ">
|
1758
|
+
<h3 class="signature " id="unlink-instance_method">
|
1759
|
+
|
1760
|
+
#<strong>unlink</strong>(other_record) ⇒ <tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>
|
1761
|
+
|
1762
|
+
|
1763
|
+
|
1764
|
+
|
1765
|
+
|
1766
|
+
</h3><div class="docstring">
|
1767
|
+
<div class="discussion">
|
1768
|
+
|
1769
|
+
<p>unlink the two records using a relation determined by other_record.class,
|
1770
|
+
success is assumed</p>
|
1771
|
+
|
1772
|
+
|
1773
|
+
</div>
|
1774
|
+
</div>
|
1775
|
+
<div class="tags">
|
1776
|
+
|
1777
|
+
<p class="tag_title">Returns:</p>
|
1778
|
+
<ul class="return">
|
1779
|
+
|
1780
|
+
<li>
|
1781
|
+
|
1782
|
+
|
1783
|
+
<span class='type'>(<tt><span class='object_link'><a href="../HyperRecord.html" title="HyperRecord (module)">HyperRecord</a></span></tt>)</span>
|
1784
|
+
|
1785
|
+
|
1786
|
+
|
1787
|
+
—
|
1788
|
+
<div class='inline'>
|
1789
|
+
<p>self</p>
|
1790
|
+
</div>
|
1791
|
+
|
1792
|
+
</li>
|
1793
|
+
|
1794
|
+
</ul>
|
1795
|
+
|
1796
|
+
</div><table class="source_code">
|
1797
|
+
<tr>
|
1798
|
+
<td>
|
1799
|
+
<pre class="lines">
|
1800
|
+
|
1801
|
+
|
1802
|
+
162
|
1803
|
+
163
|
1804
|
+
164
|
1805
|
+
165
|
1806
|
+
166</pre>
|
1807
|
+
</td>
|
1808
|
+
<td>
|
1809
|
+
<pre class="code"><span class="info file"># File 'lib/hyper_record/client_instance_methods.rb', line 162</span>
|
1810
|
+
|
1811
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_unlink'>unlink</span><span class='lparen'>(</span><span class='id identifier rubyid_other_record'>other_record</span><span class='rparen'>)</span>
|
1812
|
+
<span class='id identifier rubyid__register_observer'>_register_observer</span>
|
1813
|
+
<span class='id identifier rubyid_promise_unlink'>promise_unlink</span><span class='lparen'>(</span><span class='id identifier rubyid_other_record'>other_record</span><span class='rparen'>)</span>
|
1814
|
+
<span class='kw'>self</span>
|
1815
|
+
<span class='kw'>end</span></pre>
|
1816
|
+
</td>
|
1817
|
+
</tr>
|
1818
|
+
</table>
|
1819
|
+
</div>
|
1820
|
+
|
1821
|
+
</div>
|
1822
|
+
|
1823
|
+
</div>
|
1824
|
+
|
1825
|
+
<div id="footer">
|
1826
|
+
Generated on Tue Jun 5 23:13:52 2018 by
|
1827
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1828
|
+
0.9.13 (ruby-2.5.1).
|
1829
|
+
</div>
|
1830
|
+
|
1831
|
+
</div>
|
1832
|
+
</body>
|
1833
|
+
</html>
|