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,529 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Class: Hyperloop::Resource::RelationsController
|
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 = "Hyperloop::Resource::RelationsController";
|
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 (R)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../../Hyperloop.html" title="Hyperloop (module)">Hyperloop</a></span></span> » <span class='title'><span class='object_link'><a href="../Resource.html" title="Hyperloop::Resource (module)">Resource</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">RelationsController</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="../../class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Class: Hyperloop::Resource::RelationsController
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
<dl>
|
70
|
+
<dt>Inherits:</dt>
|
71
|
+
<dd>
|
72
|
+
<span class="inheritName">ApplicationController</span>
|
73
|
+
|
74
|
+
<ul class="fullTree">
|
75
|
+
<li>Object</li>
|
76
|
+
|
77
|
+
<li class="next">ApplicationController</li>
|
78
|
+
|
79
|
+
<li class="next">Hyperloop::Resource::RelationsController</li>
|
80
|
+
|
81
|
+
</ul>
|
82
|
+
<a href="#" class="inheritanceTree">show all</a>
|
83
|
+
|
84
|
+
</dd>
|
85
|
+
</dl>
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
<dl>
|
98
|
+
<dt>Defined in:</dt>
|
99
|
+
<dd>lib/hyperloop/resource/rails/controller_templates/relations_controller.rb</dd>
|
100
|
+
</dl>
|
101
|
+
|
102
|
+
</div>
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
<h2>
|
113
|
+
Instance Method Summary
|
114
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
115
|
+
</h2>
|
116
|
+
|
117
|
+
<ul class="summary">
|
118
|
+
|
119
|
+
<li class="public ">
|
120
|
+
<span class="summary_signature">
|
121
|
+
|
122
|
+
<a href="#create-instance_method" title="#create (instance method)">#<strong>create</strong> ⇒ Object </a>
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
</span>
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
137
|
+
|
138
|
+
</li>
|
139
|
+
|
140
|
+
|
141
|
+
<li class="public ">
|
142
|
+
<span class="summary_signature">
|
143
|
+
|
144
|
+
<a href="#destroy-instance_method" title="#destroy (instance method)">#<strong>destroy</strong> ⇒ Object </a>
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
</span>
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
159
|
+
|
160
|
+
</li>
|
161
|
+
|
162
|
+
|
163
|
+
<li class="public ">
|
164
|
+
<span class="summary_signature">
|
165
|
+
|
166
|
+
<a href="#index-instance_method" title="#index (instance method)">#<strong>index</strong> ⇒ Object </a>
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
</span>
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
181
|
+
|
182
|
+
</li>
|
183
|
+
|
184
|
+
|
185
|
+
<li class="public ">
|
186
|
+
<span class="summary_signature">
|
187
|
+
|
188
|
+
<a href="#show-instance_method" title="#show (instance method)">#<strong>show</strong> ⇒ Object </a>
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
</span>
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
203
|
+
|
204
|
+
</li>
|
205
|
+
|
206
|
+
|
207
|
+
</ul>
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
<div id="instance_method_details" class="method_details_list">
|
214
|
+
<h2>Instance Method Details</h2>
|
215
|
+
|
216
|
+
|
217
|
+
<div class="method_details first">
|
218
|
+
<h3 class="signature first" id="create-instance_method">
|
219
|
+
|
220
|
+
#<strong>create</strong> ⇒ <tt>Object</tt>
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
</h3><table class="source_code">
|
227
|
+
<tr>
|
228
|
+
<td>
|
229
|
+
<pre class="lines">
|
230
|
+
|
231
|
+
|
232
|
+
17
|
233
|
+
18
|
234
|
+
19
|
235
|
+
20
|
236
|
+
21
|
237
|
+
22
|
238
|
+
23
|
239
|
+
24
|
240
|
+
25
|
241
|
+
26
|
242
|
+
27
|
243
|
+
28
|
244
|
+
29
|
245
|
+
30
|
246
|
+
31
|
247
|
+
32
|
248
|
+
33
|
249
|
+
34
|
250
|
+
35
|
251
|
+
36
|
252
|
+
37
|
253
|
+
38
|
254
|
+
39
|
255
|
+
40
|
256
|
+
41
|
257
|
+
42
|
258
|
+
43
|
259
|
+
44
|
260
|
+
45
|
261
|
+
46
|
262
|
+
47
|
263
|
+
48
|
264
|
+
49
|
265
|
+
50
|
266
|
+
51
|
267
|
+
52
|
268
|
+
53
|
269
|
+
54
|
270
|
+
55</pre>
|
271
|
+
</td>
|
272
|
+
<td>
|
273
|
+
<pre class="code"><span class="info file"># File 'lib/hyperloop/resource/rails/controller_templates/relations_controller.rb', line 17</span>
|
274
|
+
|
275
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_create'>create</span>
|
276
|
+
<span class='ivar'>@record</span><span class='comma'>,</span> <span class='id identifier rubyid_left_id'>left_id</span> <span class='op'>=</span> <span class='id identifier rubyid_guarded_record_from_params'>guarded_record_from_params</span><span class='lparen'>(</span><span class='id identifier rubyid_params'>params</span><span class='rparen'>)</span>
|
277
|
+
<span class='ivar'>@right_record</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
278
|
+
<span class='ivar'>@collection_name</span> <span class='op'>=</span> <span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
279
|
+
<span class='ivar'>@collection</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
280
|
+
<span class='kw'>if</span> <span class='ivar'>@record</span> <span class='op'>&&</span> <span class='ivar'>@record</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><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='ivar'>@collection_name</span><span class='rparen'>)</span> <span class='comment'># guard, :id is the collection name
|
281
|
+
</span> <span class='id identifier rubyid_right_class_param'>right_class_param</span> <span class='op'>=</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='ivar'>@record</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><span class='lbracket'>[</span><span class='ivar'>@collection_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_association'>association</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
282
|
+
<span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_chop'>chop</span> <span class='comment'># remove the s at the end if its there
|
283
|
+
</span> <span class='kw'>else</span>
|
284
|
+
<span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span>
|
285
|
+
<span class='kw'>end</span>
|
286
|
+
<span class='id identifier rubyid_right_model'>right_model</span> <span class='op'>=</span> <span class='id identifier rubyid_guarded_record_class_from_param'>guarded_record_class_from_param</span><span class='lparen'>(</span><span class='id identifier rubyid_right_class_param'>right_class_param</span><span class='rparen'>)</span>
|
287
|
+
<span class='ivar'>@right_record</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_collection_params'>collection_params</span><span class='lparen'>(</span><span class='id identifier rubyid_right_model'>right_model</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span>
|
288
|
+
<span class='id identifier rubyid_right_model'>right_model</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_collection_params'>collection_params</span><span class='lparen'>(</span><span class='id identifier rubyid_right_model'>right_model</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
289
|
+
<span class='kw'>else</span>
|
290
|
+
<span class='id identifier rubyid_right_model'>right_model</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_collection_params'>collection_params</span><span class='lparen'>(</span><span class='id identifier rubyid_right_model'>right_model</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
291
|
+
<span class='kw'>end</span>
|
292
|
+
<span class='kw'>if</span> <span class='ivar'>@right_record</span>
|
293
|
+
<span class='kw'>if</span> <span class='ivar'>@record</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><span class='lbracket'>[</span><span class='ivar'>@collection_name</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_association'>association</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:has_one</span>
|
294
|
+
<span class='ivar'>@record</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='ivar'>@collection_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='ivar'>@right_record</span><span class='rparen'>)</span>
|
295
|
+
<span class='kw'>else</span>
|
296
|
+
<span class='ivar'>@collection</span> <span class='op'>=</span> <span class='ivar'>@record</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='ivar'>@collection_name</span><span class='rparen'>)</span> <span class='comment'># send is guarded above
|
297
|
+
</span> <span class='ivar'>@collection</span> <span class='op'><<</span> <span class='ivar'>@right_record</span>
|
298
|
+
<span class='kw'>end</span>
|
299
|
+
<span class='kw'>end</span>
|
300
|
+
<span class='kw'>end</span>
|
301
|
+
<span class='id identifier rubyid_respond_to'>respond_to</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_format'>format</span><span class='op'>|</span>
|
302
|
+
<span class='kw'>if</span> <span class='ivar'>@record</span> <span class='op'>&&</span> <span class='ivar'>@right_record</span>
|
303
|
+
<span class='ivar'>@right_record</span><span class='period'>.</span><span class='id identifier rubyid_touch'>touch</span>
|
304
|
+
<span class='ivar'>@record</span><span class='period'>.</span><span class='id identifier rubyid_touch'>touch</span>
|
305
|
+
<span class='id identifier rubyid_hyper_pub_sub_collection'>hyper_pub_sub_collection</span><span class='lparen'>(</span><span class='ivar'>@collection</span><span class='comma'>,</span> <span class='ivar'>@record</span><span class='comma'>,</span> <span class='ivar'>@collection_name</span><span class='comma'>,</span> <span class='ivar'>@right_record</span><span class='rparen'>)</span>
|
306
|
+
<span class='id identifier rubyid_hyper_pub_sub_item'>hyper_pub_sub_item</span><span class='lparen'>(</span><span class='ivar'>@right_record</span><span class='rparen'>)</span>
|
307
|
+
<span class='id identifier rubyid_hyper_pub_sub_item'>hyper_pub_sub_item</span><span class='lparen'>(</span><span class='ivar'>@record</span><span class='rparen'>)</span>
|
308
|
+
<span class='id identifier rubyid_format'>format</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_render'>render</span> <span class='label'>status:</span> <span class='symbol'>:created</span> <span class='rbrace'>}</span>
|
309
|
+
<span class='kw'>else</span>
|
310
|
+
<span class='id identifier rubyid_format'>format</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_render'>render</span> <span class='label'>json:</span> <span class='ivar'>@right_record</span> <span class='op'>?</span> <span class='ivar'>@right_record</span><span class='period'>.</span><span class='id identifier rubyid_errors'>errors</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='symbol'>:unprocessable_entity</span> <span class='rbrace'>}</span>
|
311
|
+
<span class='kw'>end</span>
|
312
|
+
<span class='kw'>end</span>
|
313
|
+
<span class='kw'>end</span></pre>
|
314
|
+
</td>
|
315
|
+
</tr>
|
316
|
+
</table>
|
317
|
+
</div>
|
318
|
+
|
319
|
+
<div class="method_details ">
|
320
|
+
<h3 class="signature " id="destroy-instance_method">
|
321
|
+
|
322
|
+
#<strong>destroy</strong> ⇒ <tt>Object</tt>
|
323
|
+
|
324
|
+
|
325
|
+
|
326
|
+
|
327
|
+
|
328
|
+
</h3><table class="source_code">
|
329
|
+
<tr>
|
330
|
+
<td>
|
331
|
+
<pre class="lines">
|
332
|
+
|
333
|
+
|
334
|
+
80
|
335
|
+
81
|
336
|
+
82
|
337
|
+
83
|
338
|
+
84
|
339
|
+
85
|
340
|
+
86
|
341
|
+
87
|
342
|
+
88
|
343
|
+
89
|
344
|
+
90
|
345
|
+
91
|
346
|
+
92
|
347
|
+
93
|
348
|
+
94
|
349
|
+
95
|
350
|
+
96
|
351
|
+
97
|
352
|
+
98
|
353
|
+
99
|
354
|
+
100
|
355
|
+
101
|
356
|
+
102
|
357
|
+
103
|
358
|
+
104
|
359
|
+
105
|
360
|
+
106
|
361
|
+
107</pre>
|
362
|
+
</td>
|
363
|
+
<td>
|
364
|
+
<pre class="code"><span class="info file"># File 'lib/hyperloop/resource/rails/controller_templates/relations_controller.rb', line 80</span>
|
365
|
+
|
366
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_destroy'>destroy</span>
|
367
|
+
<span class='ivar'>@record</span><span class='comma'>,</span> <span class='id identifier rubyid_left_id'>left_id</span> <span class='op'>=</span> <span class='id identifier rubyid_guarded_record_from_params'>guarded_record_from_params</span><span class='lparen'>(</span><span class='id identifier rubyid_params'>params</span><span class='rparen'>)</span>
|
368
|
+
<span class='ivar'>@right_record</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
369
|
+
<span class='ivar'>@collection_name</span> <span class='op'>=</span> <span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
370
|
+
<span class='ivar'>@collection</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
371
|
+
<span class='kw'>if</span> <span class='ivar'>@record</span> <span class='op'>&&</span> <span class='ivar'>@record</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><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='ivar'>@collection_name</span><span class='rparen'>)</span> <span class='comment'># guard, :id is the collection name
|
372
|
+
</span> <span class='id identifier rubyid_right_class_param'>right_class_param</span> <span class='op'>=</span> <span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_chop'>chop</span> <span class='comment'># remove the s at the end
|
373
|
+
</span> <span class='id identifier rubyid_right_model'>right_model</span> <span class='op'>=</span> <span class='id identifier rubyid_guarded_record_class_from_param'>guarded_record_class_from_param</span><span class='lparen'>(</span><span class='id identifier rubyid_right_class_param'>right_class_param</span><span class='rparen'>)</span>
|
374
|
+
<span class='ivar'>@right_record</span> <span class='op'>=</span> <span class='id identifier rubyid_right_model'>right_model</span><span class='period'>.</span><span class='id identifier rubyid_find'>find</span><span class='lparen'>(</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:record_id</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
375
|
+
|
376
|
+
<span class='kw'>if</span> <span class='ivar'>@right_record</span>
|
377
|
+
<span class='ivar'>@collection</span> <span class='op'>=</span> <span class='ivar'>@record</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='ivar'>@collection_name</span><span class='rparen'>)</span> <span class='comment'># send is guarded above
|
378
|
+
</span> <span class='ivar'>@collection</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='ivar'>@right_record</span><span class='rparen'>)</span>
|
379
|
+
<span class='kw'>end</span>
|
380
|
+
<span class='kw'>end</span>
|
381
|
+
<span class='id identifier rubyid_respond_to'>respond_to</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_format'>format</span><span class='op'>|</span>
|
382
|
+
<span class='kw'>if</span> <span class='ivar'>@record</span> <span class='op'>&&</span> <span class='ivar'>@collection</span>
|
383
|
+
<span class='ivar'>@right_record</span><span class='period'>.</span><span class='id identifier rubyid_touch'>touch</span>
|
384
|
+
<span class='ivar'>@record</span><span class='period'>.</span><span class='id identifier rubyid_touch'>touch</span>
|
385
|
+
<span class='id identifier rubyid_hyper_pub_sub_collection'>hyper_pub_sub_collection</span><span class='lparen'>(</span><span class='ivar'>@collection</span><span class='comma'>,</span> <span class='ivar'>@record</span><span class='comma'>,</span> <span class='ivar'>@collection_name</span><span class='comma'>,</span> <span class='ivar'>@right_record</span><span class='rparen'>)</span>
|
386
|
+
<span class='id identifier rubyid_hyper_pub_sub_item'>hyper_pub_sub_item</span><span class='lparen'>(</span><span class='ivar'>@right_record</span><span class='rparen'>)</span>
|
387
|
+
<span class='id identifier rubyid_hyper_pub_sub_item'>hyper_pub_sub_item</span><span class='lparen'>(</span><span class='ivar'>@record</span><span class='rparen'>)</span>
|
388
|
+
<span class='id identifier rubyid_format'>format</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_render'>render</span> <span class='label'>json:</span> <span class='lbrace'>{</span> <span class='label'>status:</span> <span class='symbol'>:success</span> <span class='rbrace'>}</span> <span class='rbrace'>}</span>
|
389
|
+
<span class='kw'>else</span>
|
390
|
+
<span class='id identifier rubyid_format'>format</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_render'>render</span> <span class='label'>json:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='symbol'>:unprocessable_entity</span> <span class='rbrace'>}</span>
|
391
|
+
<span class='kw'>end</span>
|
392
|
+
<span class='kw'>end</span>
|
393
|
+
<span class='kw'>end</span></pre>
|
394
|
+
</td>
|
395
|
+
</tr>
|
396
|
+
</table>
|
397
|
+
</div>
|
398
|
+
|
399
|
+
<div class="method_details ">
|
400
|
+
<h3 class="signature " id="index-instance_method">
|
401
|
+
|
402
|
+
#<strong>index</strong> ⇒ <tt>Object</tt>
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
</h3><table class="source_code">
|
409
|
+
<tr>
|
410
|
+
<td>
|
411
|
+
<pre class="lines">
|
412
|
+
|
413
|
+
|
414
|
+
3
|
415
|
+
4
|
416
|
+
5
|
417
|
+
6
|
418
|
+
7
|
419
|
+
8
|
420
|
+
9
|
421
|
+
10
|
422
|
+
11
|
423
|
+
12
|
424
|
+
13
|
425
|
+
14
|
426
|
+
15</pre>
|
427
|
+
</td>
|
428
|
+
<td>
|
429
|
+
<pre class="code"><span class="info file"># File 'lib/hyperloop/resource/rails/controller_templates/relations_controller.rb', line 3</span>
|
430
|
+
|
431
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_index'>index</span>
|
432
|
+
<span class='comment'># introspect available relations
|
433
|
+
</span> <span class='id identifier rubyid_record_class'>record_class</span> <span class='op'>=</span> <span class='id identifier rubyid_guarded_record_class_from_param'>guarded_record_class_from_param</span><span class='lparen'>(</span><span class='id identifier rubyid_record_class_param'>record_class_param</span><span class='rparen'>)</span>
|
434
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_record_class'>record_class</span>
|
435
|
+
<span class='ivar'>@collections</span> <span class='op'>=</span> <span class='id identifier rubyid_record_class'>record_class</span><span class='period'>.</span><span class='id identifier rubyid_reflections'>reflections</span><span class='period'>.</span><span class='id identifier rubyid_transform_values'>transform_values</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_collection'>collection</span><span class='op'>|</span> <span class='lbrace'>{</span>
|
436
|
+
<span class='label'>type:</span> <span class='id identifier rubyid_collection'>collection</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span>
|
437
|
+
<span class='label'>association:</span> <span class='id identifier rubyid_collection'>collection</span><span class='period'>.</span><span class='id identifier rubyid_association'>association</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span>
|
438
|
+
<span class='label'>direction:</span> <span class='id identifier rubyid_collection'>collection</span><span class='period'>.</span><span class='id identifier rubyid_association'>association</span><span class='period'>.</span><span class='id identifier rubyid_direction'>direction</span>
|
439
|
+
<span class='rbrace'>}</span><span class='rbrace'>}</span>
|
440
|
+
<span class='ivar'>@record_name</span> <span class='op'>=</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='period'>.</span><span class='id identifier rubyid_underscore'>underscore</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
441
|
+
<span class='kw'>end</span>
|
442
|
+
<span class='id identifier rubyid_respond_to'>respond_to</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_format'>format</span><span class='op'>|</span> <span class='id identifier rubyid_format'>format</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='label'>status:</span> <span class='symbol'>:unprocessable_entity</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_record_class'>record_class</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span><span class='rbrace'>}</span>
|
443
|
+
<span class='kw'>end</span></pre>
|
444
|
+
</td>
|
445
|
+
</tr>
|
446
|
+
</table>
|
447
|
+
</div>
|
448
|
+
|
449
|
+
<div class="method_details ">
|
450
|
+
<h3 class="signature " id="show-instance_method">
|
451
|
+
|
452
|
+
#<strong>show</strong> ⇒ <tt>Object</tt>
|
453
|
+
|
454
|
+
|
455
|
+
|
456
|
+
|
457
|
+
|
458
|
+
</h3><table class="source_code">
|
459
|
+
<tr>
|
460
|
+
<td>
|
461
|
+
<pre class="lines">
|
462
|
+
|
463
|
+
|
464
|
+
57
|
465
|
+
58
|
466
|
+
59
|
467
|
+
60
|
468
|
+
61
|
469
|
+
62
|
470
|
+
63
|
471
|
+
64
|
472
|
+
65
|
473
|
+
66
|
474
|
+
67
|
475
|
+
68
|
476
|
+
69
|
477
|
+
70
|
478
|
+
71
|
479
|
+
72
|
480
|
+
73
|
481
|
+
74
|
482
|
+
75
|
483
|
+
76
|
484
|
+
77
|
485
|
+
78</pre>
|
486
|
+
</td>
|
487
|
+
<td>
|
488
|
+
<pre class="code"><span class="info file"># File 'lib/hyperloop/resource/rails/controller_templates/relations_controller.rb', line 57</span>
|
489
|
+
|
490
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_show'>show</span>
|
491
|
+
<span class='ivar'>@record</span><span class='comma'>,</span> <span class='ivar'>@id</span> <span class='op'>=</span> <span class='id identifier rubyid_guarded_record_from_params'>guarded_record_from_params</span><span class='lparen'>(</span><span class='id identifier rubyid_params'>params</span><span class='rparen'>)</span>
|
492
|
+
<span class='comment'># collection result may be nil, so we need have_collection to make sure the collection is valid
|
493
|
+
</span> <span class='ivar'>@collection</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
494
|
+
<span class='id identifier rubyid_have_collection'>have_collection</span> <span class='op'>=</span> <span class='kw'>false</span>
|
495
|
+
<span class='ivar'>@collection_name</span> <span class='op'>=</span> <span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
496
|
+
<span class='kw'>if</span> <span class='ivar'>@record</span>
|
497
|
+
<span class='comment'># guard, :id is the collection name
|
498
|
+
</span> <span class='id identifier rubyid_have_collection'>have_collection</span> <span class='op'>=</span> <span class='ivar'>@record</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><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='ivar'>@collection_name</span><span class='rparen'>)</span> <span class='comment'># for neo4j, key is a symbol
|
499
|
+
</span> <span class='id identifier rubyid_have_collection'>have_collection</span> <span class='op'>=</span> <span class='ivar'>@record</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><span class='period'>.</span><span class='id identifier rubyid_has_key?'>has_key?</span><span class='lparen'>(</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:id</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_have_collection'>have_collection</span> <span class='comment'># for AR, key is a string
|
500
|
+
</span> <span class='ivar'>@collection</span> <span class='op'>=</span> <span class='ivar'>@record</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='ivar'>@collection_name</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_have_collection'>have_collection</span>
|
501
|
+
<span class='kw'>end</span>
|
502
|
+
<span class='id identifier rubyid_respond_to'>respond_to</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_format'>format</span><span class='op'>|</span>
|
503
|
+
<span class='kw'>if</span> <span class='ivar'>@record</span> <span class='op'>&&</span> <span class='id identifier rubyid_have_collection'>have_collection</span>
|
504
|
+
<span class='id identifier rubyid_hyper_sub_collection'>hyper_sub_collection</span><span class='lparen'>(</span><span class='ivar'>@collection</span><span class='comma'>,</span> <span class='ivar'>@record</span><span class='comma'>,</span> <span class='ivar'>@collection_name</span><span class='rparen'>)</span>
|
505
|
+
<span class='id identifier rubyid_hyper_sub_item'>hyper_sub_item</span><span class='lparen'>(</span><span class='ivar'>@record</span><span class='rparen'>)</span>
|
506
|
+
<span class='id identifier rubyid_format'>format</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span>
|
507
|
+
<span class='kw'>else</span>
|
508
|
+
<span class='id identifier rubyid_format'>format</span><span class='period'>.</span><span class='id identifier rubyid_json'>json</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_render'>render</span> <span class='label'>json:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='symbol'>:unprocessable_entity</span> <span class='rbrace'>}</span>
|
509
|
+
<span class='kw'>end</span>
|
510
|
+
<span class='kw'>end</span>
|
511
|
+
<span class='kw'>end</span></pre>
|
512
|
+
</td>
|
513
|
+
</tr>
|
514
|
+
</table>
|
515
|
+
</div>
|
516
|
+
|
517
|
+
</div>
|
518
|
+
|
519
|
+
</div>
|
520
|
+
|
521
|
+
<div id="footer">
|
522
|
+
Generated on Tue Jun 5 23:13:53 2018 by
|
523
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
524
|
+
0.9.13 (ruby-2.5.1).
|
525
|
+
</div>
|
526
|
+
|
527
|
+
</div>
|
528
|
+
</body>
|
529
|
+
</html>
|