compony 0.7.1 → 0.8.0
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/CHANGELOG.md +34 -0
- data/Gemfile.lock +1 -1
- data/README.md +10 -14
- data/VERSION +1 -1
- data/compony.gemspec +4 -4
- data/doc/ComponentGenerator.html +1 -1
- data/doc/Components.html +1 -1
- data/doc/ComponentsGenerator.html +1 -1
- data/doc/Compony/Component.html +193 -457
- data/doc/Compony/ComponentMixins/Default/Labelling.html +1 -1
- data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +1 -1
- data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +3 -3
- data/doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html +1 -1
- data/doc/Compony/ComponentMixins/Default/Standalone.html +187 -1
- data/doc/Compony/ComponentMixins/Default.html +1 -1
- data/doc/Compony/ComponentMixins/Resourceful.html +2 -2
- data/doc/Compony/ComponentMixins.html +1 -1
- data/doc/Compony/Components/Button.html +2 -2
- data/doc/Compony/Components/Buttons/CssButton.html +282 -0
- data/doc/Compony/Components/Buttons/Link.html +252 -0
- data/doc/Compony/Components/Buttons.html +126 -0
- data/doc/Compony/Components/Destroy.html +11 -11
- data/doc/Compony/Components/Edit.html +14 -14
- data/doc/Compony/Components/Form.html +100 -100
- data/doc/Compony/Components/Index.html +2 -2
- data/doc/Compony/Components/List.html +3 -3
- data/doc/Compony/Components/New.html +2 -2
- data/doc/Compony/Components/Show.html +24 -24
- data/doc/Compony/Components/WithForm.html +3 -3
- data/doc/Compony/Components.html +5 -3
- data/doc/Compony/ControllerMixin.html +2 -2
- data/doc/Compony/Engine.html +1 -1
- data/doc/Compony/ExposedIntentsDsl.html +403 -0
- data/doc/Compony/Intent.html +1503 -0
- data/doc/Compony/MethodAccessibleHash.html +1 -1
- data/doc/Compony/ModelFields/Anchormodel.html +1 -1
- data/doc/Compony/ModelFields/Association.html +2 -2
- data/doc/Compony/ModelFields/Attachment.html +1 -1
- data/doc/Compony/ModelFields/Base.html +1 -1
- data/doc/Compony/ModelFields/Boolean.html +1 -1
- data/doc/Compony/ModelFields/Color.html +1 -1
- data/doc/Compony/ModelFields/Currency.html +1 -1
- data/doc/Compony/ModelFields/Date.html +1 -1
- data/doc/Compony/ModelFields/Datetime.html +1 -1
- data/doc/Compony/ModelFields/Decimal.html +1 -1
- data/doc/Compony/ModelFields/Email.html +1 -1
- data/doc/Compony/ModelFields/Float.html +1 -1
- data/doc/Compony/ModelFields/Integer.html +1 -1
- data/doc/Compony/ModelFields/Percentage.html +1 -1
- data/doc/Compony/ModelFields/Phone.html +1 -1
- data/doc/Compony/ModelFields/RichText.html +1 -1
- data/doc/Compony/ModelFields/String.html +1 -1
- data/doc/Compony/ModelFields/Text.html +1 -1
- data/doc/Compony/ModelFields/Time.html +1 -1
- data/doc/Compony/ModelFields/Url.html +1 -1
- data/doc/Compony/ModelFields.html +1 -1
- data/doc/Compony/ModelMixin.html +1 -1
- data/doc/Compony/NaturalOrdering.html +1 -1
- data/doc/Compony/RequestContext.html +177 -14
- data/doc/Compony/Version.html +1 -1
- data/doc/Compony/ViewHelpers.html +15 -272
- data/doc/Compony/VirtualModel.html +1 -1
- data/doc/Compony.html +303 -837
- data/doc/ComponyController.html +1 -1
- data/doc/_index.html +30 -2
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +11 -18
- data/doc/guide/basic_component.md +12 -8
- data/doc/guide/example.md +17 -17
- data/doc/guide/feasibility.md +4 -2
- data/doc/guide/generators.md +4 -2
- data/doc/guide/inheritance.md +4 -2
- data/doc/guide/installation.md +4 -2
- data/doc/guide/intents.md +167 -0
- data/doc/guide/internal_datastructures.md +4 -2
- data/doc/guide/model_fields.md +4 -2
- data/doc/guide/nesting.md +5 -3
- data/doc/guide/ownership.md +5 -3
- data/doc/guide/pre_built_components/destroy.md +3 -3
- data/doc/guide/pre_built_components/edit.md +1 -1
- data/doc/guide/pre_built_components/form.md +1 -1
- data/doc/guide/pre_built_components/index.md +1 -1
- data/doc/guide/pre_built_components/list.md +1 -1
- data/doc/guide/pre_built_components/new.md +2 -2
- data/doc/guide/pre_built_components/show.md +1 -1
- data/doc/guide/pre_built_components/with_form.md +1 -1
- data/doc/guide/pre_built_components.md +4 -3
- data/doc/guide/resourceful.md +5 -3
- data/doc/guide/standalone.md +10 -2
- data/doc/guide/virtual_models.md +4 -2
- data/doc/index.html +11 -18
- data/doc/method_list.html +273 -161
- data/doc/top-level-namespace.html +1 -1
- data/lib/compony/component.rb +19 -48
- data/lib/compony/component_mixins/default/standalone/standalone_dsl.rb +2 -2
- data/lib/compony/component_mixins/default/standalone.rb +16 -0
- data/lib/compony/component_mixins/resourceful.rb +1 -1
- data/lib/compony/components/buttons/css_button.rb +32 -0
- data/lib/compony/components/buttons/link.rb +31 -0
- data/lib/compony/components/destroy.rb +9 -8
- data/lib/compony/components/edit.rb +5 -4
- data/lib/compony/components/form.rb +7 -1
- data/lib/compony/components/index.rb +2 -2
- data/lib/compony/components/list.rb +4 -4
- data/lib/compony/components/new.rb +1 -1
- data/lib/compony/components/show.rb +8 -11
- data/lib/compony/components/with_form.rb +1 -1
- data/lib/compony/exposed_intents_dsl.rb +29 -0
- data/lib/compony/intent.rb +145 -0
- data/lib/compony/model_fields/association.rb +1 -1
- data/lib/compony/request_context.rb +21 -0
- data/lib/compony/view_helpers.rb +5 -48
- data/lib/compony.rb +63 -149
- metadata +12 -6
- data/doc/guide/helpers.md +0 -156
- data/doc/guide/pre_built_components/button.md +0 -8
- data/doc/guide/root_actions.md +0 -67
- data/lib/compony/components/button.rb +0 -61
|
@@ -0,0 +1,1503 @@
|
|
|
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: Compony::Intent
|
|
8
|
+
|
|
9
|
+
— Documentation by YARD 0.9.34
|
|
10
|
+
|
|
11
|
+
</title>
|
|
12
|
+
|
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" />
|
|
14
|
+
|
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" />
|
|
16
|
+
|
|
17
|
+
<script type="text/javascript">
|
|
18
|
+
pathId = "Compony::Intent";
|
|
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 (I)</a> »
|
|
40
|
+
<span class='title'><span class='object_link'><a href="../Compony.html" title="Compony (module)">Compony</a></span></span>
|
|
41
|
+
»
|
|
42
|
+
<span class="title">Intent</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: Compony::Intent
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
</h1>
|
|
67
|
+
<div class="box_info">
|
|
68
|
+
|
|
69
|
+
<dl>
|
|
70
|
+
<dt>Inherits:</dt>
|
|
71
|
+
<dd>
|
|
72
|
+
<span class="inheritName">Object</span>
|
|
73
|
+
|
|
74
|
+
<ul class="fullTree">
|
|
75
|
+
<li>Object</li>
|
|
76
|
+
|
|
77
|
+
<li class="next">Compony::Intent</li>
|
|
78
|
+
|
|
79
|
+
</ul>
|
|
80
|
+
<a href="#" class="inheritanceTree">show all</a>
|
|
81
|
+
|
|
82
|
+
</dd>
|
|
83
|
+
</dl>
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
<dl>
|
|
96
|
+
<dt>Defined in:</dt>
|
|
97
|
+
<dd>lib/compony/intent.rb</dd>
|
|
98
|
+
</dl>
|
|
99
|
+
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
|
103
|
+
<div class="discussion">
|
|
104
|
+
|
|
105
|
+
<p>An Intent is a a gateway to a component, along with relevant context, such as the comp and family, perhaps a resource, standalone name, feasibility etc. The class provides tooling used by various Compony helpers used to point to other components in some way.</p>
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
<div class="tags">
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
<h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
|
|
118
|
+
<ul class="summary">
|
|
119
|
+
|
|
120
|
+
<li class="public ">
|
|
121
|
+
<span class="summary_signature">
|
|
122
|
+
|
|
123
|
+
<a href="#comp_class-instance_method" title="#comp_class (instance method)">#<strong>comp_class</strong> ⇒ Object </a>
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
</span>
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
<span class="note title readonly">readonly</span>
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
143
|
+
|
|
144
|
+
</li>
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
<li class="public ">
|
|
148
|
+
<span class="summary_signature">
|
|
149
|
+
|
|
150
|
+
<a href="#data-instance_method" title="#data (instance method)">#<strong>data</strong> ⇒ Object </a>
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
</span>
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
<span class="note title readonly">readonly</span>
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
170
|
+
|
|
171
|
+
</li>
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
</ul>
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
<h2>
|
|
181
|
+
Instance Method Summary
|
|
182
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
|
183
|
+
</h2>
|
|
184
|
+
|
|
185
|
+
<ul class="summary">
|
|
186
|
+
|
|
187
|
+
<li class="public ">
|
|
188
|
+
<span class="summary_signature">
|
|
189
|
+
|
|
190
|
+
<a href="#button_comp_opts-instance_method" title="#button_comp_opts (instance method)">#<strong>button_comp_opts</strong>(label: {}) ⇒ Object </a>
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
</span>
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
<span class="summary_desc"><div class='inline'>
|
|
205
|
+
<p>Returns the options that are given to the initializer when creating a button from this intent.</p>
|
|
206
|
+
</div></span>
|
|
207
|
+
|
|
208
|
+
</li>
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
<li class="public ">
|
|
212
|
+
<span class="summary_signature">
|
|
213
|
+
|
|
214
|
+
<a href="#comp-instance_method" title="#comp (instance method)">#<strong>comp</strong> ⇒ Object </a>
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
</span>
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
<span class="summary_desc"><div class='inline'>
|
|
229
|
+
<p>Instanciates the component and returns the instance.</p>
|
|
230
|
+
</div></span>
|
|
231
|
+
|
|
232
|
+
</li>
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
<li class="public ">
|
|
236
|
+
<span class="summary_signature">
|
|
237
|
+
|
|
238
|
+
<a href="#feasibility_action-instance_method" title="#feasibility_action (instance method)">#<strong>feasibility_action</strong> ⇒ Object </a>
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
</span>
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
253
|
+
|
|
254
|
+
</li>
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
<li class="public ">
|
|
258
|
+
<span class="summary_signature">
|
|
259
|
+
|
|
260
|
+
<a href="#feasibility_target-instance_method" title="#feasibility_target (instance method)">#<strong>feasibility_target</strong> ⇒ Object </a>
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
</span>
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
275
|
+
|
|
276
|
+
</li>
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
<li class="public ">
|
|
280
|
+
<span class="summary_signature">
|
|
281
|
+
|
|
282
|
+
<a href="#feasible%3F-instance_method" title="#feasible? (instance method)">#<strong>feasible?</strong> ⇒ Boolean </a>
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
</span>
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
<span class="summary_desc"><div class='inline'>
|
|
297
|
+
<p>Returns whether this intent is feasible (no prevention).</p>
|
|
298
|
+
</div></span>
|
|
299
|
+
|
|
300
|
+
</li>
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
<li class="public ">
|
|
304
|
+
<span class="summary_signature">
|
|
305
|
+
|
|
306
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(comp_name_or_cst_or_class, model_or_family_name_or_cst = nil, standalone_name: nil, name: nil, label: nil, path: nil, method: nil, data: nil, data_class: nil, feasibility_target: nil, feasibility_action: nil, **custom_args) ⇒ Intent </a>
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
</span>
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
<span class="note title constructor">constructor</span>
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
<span class="summary_desc"><div class='inline'>
|
|
323
|
+
<p>A new instance of Intent.</p>
|
|
324
|
+
</div></span>
|
|
325
|
+
|
|
326
|
+
</li>
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
<li class="public ">
|
|
330
|
+
<span class="summary_signature">
|
|
331
|
+
|
|
332
|
+
<a href="#label-instance_method" title="#label (instance method)">#<strong>label</strong>(model = nil, **label_opt_overrides) ⇒ Object </a>
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
</span>
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
<span class="summary_desc"><div class='inline'>
|
|
347
|
+
<p>Returns the label of buttons produced by this intent.</p>
|
|
348
|
+
</div></span>
|
|
349
|
+
|
|
350
|
+
</li>
|
|
351
|
+
|
|
352
|
+
|
|
353
|
+
<li class="public ">
|
|
354
|
+
<span class="summary_signature">
|
|
355
|
+
|
|
356
|
+
<a href="#method-instance_method" title="#method (instance method)">#<strong>method</strong> ⇒ Object </a>
|
|
357
|
+
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
</span>
|
|
361
|
+
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
368
|
+
|
|
369
|
+
|
|
370
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
|
371
|
+
|
|
372
|
+
</li>
|
|
373
|
+
|
|
374
|
+
|
|
375
|
+
<li class="public ">
|
|
376
|
+
<span class="summary_signature">
|
|
377
|
+
|
|
378
|
+
<a href="#model%3F-instance_method" title="#model? (instance method)">#<strong>model?</strong> ⇒ Boolean </a>
|
|
379
|
+
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
</span>
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
<span class="summary_desc"><div class='inline'>
|
|
393
|
+
<p>Returns true for things like User.first, but false for things like :users or User.</p>
|
|
394
|
+
</div></span>
|
|
395
|
+
|
|
396
|
+
</li>
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
<li class="public ">
|
|
400
|
+
<span class="summary_signature">
|
|
401
|
+
|
|
402
|
+
<a href="#name-instance_method" title="#name (instance method)">#<strong>name</strong> ⇒ Object </a>
|
|
403
|
+
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
</span>
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
|
|
416
|
+
<span class="summary_desc"><div class='inline'>
|
|
417
|
+
<p>Returns a name for this intent, consisting of comp and family name.</p>
|
|
418
|
+
</div></span>
|
|
419
|
+
|
|
420
|
+
</li>
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
<li class="public ">
|
|
424
|
+
<span class="summary_signature">
|
|
425
|
+
|
|
426
|
+
<a href="#path-instance_method" title="#path (instance method)">#<strong>path</strong>(model = nil, standalone_name: nil, **path_opt_overrides) ⇒ Object </a>
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
|
|
430
|
+
</span>
|
|
431
|
+
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
<span class="summary_desc"><div class='inline'>
|
|
441
|
+
<p>Returns the path to the component.</p>
|
|
442
|
+
</div></span>
|
|
443
|
+
|
|
444
|
+
</li>
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
<li class="public ">
|
|
448
|
+
<span class="summary_signature">
|
|
449
|
+
|
|
450
|
+
<a href="#render-instance_method" title="#render (instance method)">#<strong>render</strong>(controller, parent_comp = nil, style: nil, label: {}, **button_comp_opts_overrides) ⇒ Object </a>
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
</span>
|
|
455
|
+
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
|
|
459
|
+
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
|
|
463
|
+
|
|
464
|
+
<span class="summary_desc"><div class='inline'>
|
|
465
|
+
<p>Renders this intent into a button defined by <code>style</code>.</p>
|
|
466
|
+
</div></span>
|
|
467
|
+
|
|
468
|
+
</li>
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
</ul>
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
<div id="constructor_details" class="method_details_list">
|
|
475
|
+
<h2>Constructor Details</h2>
|
|
476
|
+
|
|
477
|
+
<div class="method_details first">
|
|
478
|
+
<h3 class="signature first" id="initialize-instance_method">
|
|
479
|
+
|
|
480
|
+
#<strong>initialize</strong>(comp_name_or_cst_or_class, model_or_family_name_or_cst = nil, standalone_name: nil, name: nil, label: nil, path: nil, method: nil, data: nil, data_class: nil, feasibility_target: nil, feasibility_action: nil, **custom_args) ⇒ <tt><span class='object_link'><a href="" title="Compony::Intent (class)">Intent</a></span></tt>
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
|
|
486
|
+
</h3><div class="docstring">
|
|
487
|
+
<div class="discussion">
|
|
488
|
+
|
|
489
|
+
<p>Returns a new instance of Intent.</p>
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
</div>
|
|
493
|
+
</div>
|
|
494
|
+
<div class="tags">
|
|
495
|
+
<p class="tag_title">Parameters:</p>
|
|
496
|
+
<ul class="param">
|
|
497
|
+
|
|
498
|
+
<li>
|
|
499
|
+
|
|
500
|
+
<span class='name'>comp_name_or_cst_or_class</span>
|
|
501
|
+
|
|
502
|
+
|
|
503
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>, <tt>Class</tt>)</span>
|
|
504
|
+
|
|
505
|
+
|
|
506
|
+
|
|
507
|
+
—
|
|
508
|
+
<div class='inline'>
|
|
509
|
+
<p>The component that should be loaded, for instance <code>ShowForAll</code>, <code>'ShowForAll'</code> or <code>:show_for_all</code>, or can also pass a component class (such as Components::Users::Show)</p>
|
|
510
|
+
</div>
|
|
511
|
+
|
|
512
|
+
</li>
|
|
513
|
+
|
|
514
|
+
<li>
|
|
515
|
+
|
|
516
|
+
<span class='name'>model_or_family_name_or_cst</span>
|
|
517
|
+
|
|
518
|
+
|
|
519
|
+
<span class='type'>(<tt>String</tt>, <tt>Symbol</tt>, <tt>ApplicationRecord</tt>)</span>
|
|
520
|
+
|
|
521
|
+
|
|
522
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
523
|
+
|
|
524
|
+
|
|
525
|
+
—
|
|
526
|
+
<div class='inline'>
|
|
527
|
+
<p>Either the family that contains the requested component, or an instance implementing <code>model_name</code> from which the family name is auto-generated. Examples: <code>Users</code>, <code>'Users'</code>, <code>:users</code>, <code>User.first</code></p>
|
|
528
|
+
</div>
|
|
529
|
+
|
|
530
|
+
</li>
|
|
531
|
+
|
|
532
|
+
<li>
|
|
533
|
+
|
|
534
|
+
<span class='name'>standalone_name</span>
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
|
538
|
+
|
|
539
|
+
|
|
540
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
—
|
|
544
|
+
<div class='inline'>
|
|
545
|
+
<p>If given, will override the standalone name for all <code>path</code> calls for this intent instance.</p>
|
|
546
|
+
</div>
|
|
547
|
+
|
|
548
|
+
</li>
|
|
549
|
+
|
|
550
|
+
<li>
|
|
551
|
+
|
|
552
|
+
<span class='name'>name</span>
|
|
553
|
+
|
|
554
|
+
|
|
555
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
—
|
|
562
|
+
<div class='inline'>
|
|
563
|
+
<p>If given, will override the name of this intent. Defaults to component and family name joined by underscore.</p>
|
|
564
|
+
</div>
|
|
565
|
+
|
|
566
|
+
</li>
|
|
567
|
+
|
|
568
|
+
<li>
|
|
569
|
+
|
|
570
|
+
<span class='name'>label</span>
|
|
571
|
+
|
|
572
|
+
|
|
573
|
+
<span class='type'>(<tt>String</tt>, <tt>Hash</tt>)</span>
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
577
|
+
|
|
578
|
+
|
|
579
|
+
—
|
|
580
|
+
<div class='inline'>
|
|
581
|
+
<p>If given, will be used for generating the label. If Hash, is given as options to <span class='object_link'><a href="#label-instance_method" title="Compony::Intent#label (method)">#label</a></span>.</p>
|
|
582
|
+
</div>
|
|
583
|
+
|
|
584
|
+
</li>
|
|
585
|
+
|
|
586
|
+
<li>
|
|
587
|
+
|
|
588
|
+
<span class='name'>path</span>
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
<span class='type'>(<tt>String</tt>, <tt>Hash</tt>)</span>
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
—
|
|
598
|
+
<div class='inline'>
|
|
599
|
+
<p>If given, will be used for generating the path. If Hash, is given as options to <span class='object_link'><a href="#path-instance_method" title="Compony::Intent#path (method)">#path</a></span>.</p>
|
|
600
|
+
</div>
|
|
601
|
+
|
|
602
|
+
</li>
|
|
603
|
+
|
|
604
|
+
<li>
|
|
605
|
+
|
|
606
|
+
<span class='name'>data</span>
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
<span class='type'>(<tt>ApplicationRecord</tt>, <tt>Object</tt>)</span>
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
—
|
|
616
|
+
<div class='inline'>
|
|
617
|
+
<p>If given, the target component will be instanciated with this argument. Omit if your second pos arg is a model.</p>
|
|
618
|
+
</div>
|
|
619
|
+
|
|
620
|
+
</li>
|
|
621
|
+
|
|
622
|
+
<li>
|
|
623
|
+
|
|
624
|
+
<span class='name'>data_class</span>
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
<span class='type'>(<tt>Class</tt>)</span>
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
631
|
+
|
|
632
|
+
|
|
633
|
+
—
|
|
634
|
+
<div class='inline'>
|
|
635
|
+
<p>If given, the target component will be instanciated with this argument.</p>
|
|
636
|
+
</div>
|
|
637
|
+
|
|
638
|
+
</li>
|
|
639
|
+
|
|
640
|
+
<li>
|
|
641
|
+
|
|
642
|
+
<span class='name'>feasibility_target</span>
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
<span class='type'>(<tt>ApplicationRecord</tt>)</span>
|
|
646
|
+
|
|
647
|
+
|
|
648
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
—
|
|
652
|
+
<div class='inline'>
|
|
653
|
+
<p>If given, will override the feasibility target (prevention framework)</p>
|
|
654
|
+
</div>
|
|
655
|
+
|
|
656
|
+
</li>
|
|
657
|
+
|
|
658
|
+
<li>
|
|
659
|
+
|
|
660
|
+
<span class='name'>feasibility_action</span>
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
<span class='type'>(<tt>ApplicationRecord</tt>)</span>
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
667
|
+
|
|
668
|
+
|
|
669
|
+
—
|
|
670
|
+
<div class='inline'>
|
|
671
|
+
<p>If given, will override the feasibility action (prevention framework)</p>
|
|
672
|
+
</div>
|
|
673
|
+
|
|
674
|
+
</li>
|
|
675
|
+
|
|
676
|
+
</ul>
|
|
677
|
+
|
|
678
|
+
|
|
679
|
+
</div><table class="source_code">
|
|
680
|
+
<tr>
|
|
681
|
+
<td>
|
|
682
|
+
<pre class="lines">
|
|
683
|
+
|
|
684
|
+
|
|
685
|
+
23
|
|
686
|
+
24
|
|
687
|
+
25
|
|
688
|
+
26
|
|
689
|
+
27
|
|
690
|
+
28
|
|
691
|
+
29
|
|
692
|
+
30
|
|
693
|
+
31
|
|
694
|
+
32
|
|
695
|
+
33
|
|
696
|
+
34
|
|
697
|
+
35
|
|
698
|
+
36
|
|
699
|
+
37
|
|
700
|
+
38
|
|
701
|
+
39
|
|
702
|
+
40
|
|
703
|
+
41
|
|
704
|
+
42
|
|
705
|
+
43
|
|
706
|
+
44
|
|
707
|
+
45
|
|
708
|
+
46
|
|
709
|
+
47
|
|
710
|
+
48
|
|
711
|
+
49
|
|
712
|
+
50
|
|
713
|
+
51
|
|
714
|
+
52
|
|
715
|
+
53
|
|
716
|
+
54
|
|
717
|
+
55
|
|
718
|
+
56
|
|
719
|
+
57
|
|
720
|
+
58
|
|
721
|
+
59
|
|
722
|
+
60
|
|
723
|
+
61
|
|
724
|
+
62</pre>
|
|
725
|
+
</td>
|
|
726
|
+
<td>
|
|
727
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 23</span>
|
|
728
|
+
|
|
729
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_comp_name_or_cst_or_class'>comp_name_or_cst_or_class</span><span class='comma'>,</span>
|
|
730
|
+
<span class='id identifier rubyid_model_or_family_name_or_cst'>model_or_family_name_or_cst</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
731
|
+
<span class='label'>standalone_name:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
732
|
+
<span class='label'>name:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
733
|
+
<span class='label'>label:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
734
|
+
<span class='label'>path:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
735
|
+
<span class='label'>method:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
736
|
+
<span class='label'>data:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
737
|
+
<span class='label'>data_class:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
738
|
+
<span class='label'>feasibility_target:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
739
|
+
<span class='label'>feasibility_action:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
740
|
+
<span class='op'>**</span><span class='id identifier rubyid_custom_args'>custom_args</span><span class='rparen'>)</span>
|
|
741
|
+
<span class='comment'># Check for model / data
|
|
742
|
+
</span> <span class='ivar'>@data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span>
|
|
743
|
+
<span class='ivar'>@data</span> <span class='op'>||=</span> <span class='id identifier rubyid_model_or_family_name_or_cst'>model_or_family_name_or_cst</span> <span class='kw'>if</span> <span class='id identifier rubyid_model_or_family_name_or_cst'>model_or_family_name_or_cst</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:model_name</span><span class='rparen'>)</span>
|
|
744
|
+
<span class='ivar'>@data_class</span> <span class='op'>=</span> <span class='id identifier rubyid_data_class'>data_class</span>
|
|
745
|
+
|
|
746
|
+
<span class='comment'># Figure out comp_class
|
|
747
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_comp_name_or_cst_or_class'>comp_name_or_cst_or_class</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Class</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='lparen'>(</span><span class='id identifier rubyid_comp_name_or_cst_or_class'>comp_name_or_cst_or_class</span> <span class='op'><=</span> <span class='const'><span class='object_link'><a href="../Compony.html" title="Compony (module)">Compony</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Component.html" title="Compony::Component (class)">Component</a></span></span><span class='rparen'>)</span>
|
|
748
|
+
<span class='comment'># A class was given as the first argument
|
|
749
|
+
</span> <span class='ivar'>@comp_class</span> <span class='op'>=</span> <span class='id identifier rubyid_comp_name_or_cst_or_class'>comp_name_or_cst_or_class</span>
|
|
750
|
+
<span class='kw'>else</span>
|
|
751
|
+
<span class='comment'># Build the constant from the first two arguments
|
|
752
|
+
</span> <span class='id identifier rubyid_family_underscore_str'>family_underscore_str</span> <span class='op'>=</span> <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:model_name</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_model_name'>model_name</span><span class='period'>.</span><span class='id identifier rubyid_plural'>plural</span> <span class='op'>:</span> <span class='id identifier rubyid_model_or_family_name_or_cst'>model_or_family_name_or_cst</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>
|
|
753
|
+
<span class='id identifier rubyid_constant_str'>constant_str</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>::Components::</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_family_underscore_str'>family_underscore_str</span><span class='period'>.</span><span class='id identifier rubyid_camelize'>camelize</span><span class='embexpr_end'>}</span><span class='tstring_content'>::</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_comp_name_or_cst_or_class'>comp_name_or_cst_or_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_camelize'>camelize</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
|
754
|
+
<span class='ivar'>@comp_class</span> <span class='op'>=</span> <span class='id identifier rubyid_constant_str'>constant_str</span><span class='period'>.</span><span class='id identifier rubyid_constantize'>constantize</span>
|
|
755
|
+
<span class='kw'>end</span>
|
|
756
|
+
|
|
757
|
+
<span class='comment'># Store further arguments
|
|
758
|
+
</span> <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='op'>&.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
|
759
|
+
<span class='ivar'>@standalone_name</span> <span class='op'>=</span> <span class='id identifier rubyid_standalone_name'>standalone_name</span>
|
|
760
|
+
<span class='ivar'>@label</span> <span class='op'>=</span> <span class='id identifier rubyid_label'>label</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>String</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_label'>label</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
|
761
|
+
<span class='ivar'>@label_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_label'>label</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_label'>label</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
|
762
|
+
<span class='ivar'>@path</span> <span class='op'>=</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>String</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
|
763
|
+
<span class='ivar'>@path_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_path'>path</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
|
764
|
+
<span class='ivar'>@method</span> <span class='op'>=</span> <span class='id identifier rubyid_method'>method</span><span class='op'>&.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
|
765
|
+
<span class='ivar'>@feasibility_target</span> <span class='op'>=</span> <span class='id identifier rubyid_feasibility_target'>feasibility_target</span>
|
|
766
|
+
<span class='ivar'>@feasibility_action</span> <span class='op'>=</span> <span class='id identifier rubyid_feasibility_action'>feasibility_action</span>
|
|
767
|
+
<span class='ivar'>@custom_args</span> <span class='op'>=</span> <span class='id identifier rubyid_custom_args'>custom_args</span>
|
|
768
|
+
<span class='kw'>end</span></pre>
|
|
769
|
+
</td>
|
|
770
|
+
</tr>
|
|
771
|
+
</table>
|
|
772
|
+
</div>
|
|
773
|
+
|
|
774
|
+
</div>
|
|
775
|
+
|
|
776
|
+
<div id="instance_attr_details" class="attr_details">
|
|
777
|
+
<h2>Instance Attribute Details</h2>
|
|
778
|
+
|
|
779
|
+
|
|
780
|
+
<span id=""></span>
|
|
781
|
+
<div class="method_details first">
|
|
782
|
+
<h3 class="signature first" id="comp_class-instance_method">
|
|
783
|
+
|
|
784
|
+
#<strong>comp_class</strong> ⇒ <tt>Object</tt> <span class="extras">(readonly)</span>
|
|
785
|
+
|
|
786
|
+
|
|
787
|
+
|
|
788
|
+
|
|
789
|
+
|
|
790
|
+
</h3><div class="docstring">
|
|
791
|
+
<div class="discussion">
|
|
792
|
+
|
|
793
|
+
|
|
794
|
+
</div>
|
|
795
|
+
</div>
|
|
796
|
+
<div class="tags">
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
</div><table class="source_code">
|
|
800
|
+
<tr>
|
|
801
|
+
<td>
|
|
802
|
+
<pre class="lines">
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
6
|
|
806
|
+
7
|
|
807
|
+
8</pre>
|
|
808
|
+
</td>
|
|
809
|
+
<td>
|
|
810
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 6</span>
|
|
811
|
+
|
|
812
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_comp_class'>comp_class</span>
|
|
813
|
+
<span class='ivar'>@comp_class</span>
|
|
814
|
+
<span class='kw'>end</span></pre>
|
|
815
|
+
</td>
|
|
816
|
+
</tr>
|
|
817
|
+
</table>
|
|
818
|
+
</div>
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
<span id=""></span>
|
|
822
|
+
<div class="method_details ">
|
|
823
|
+
<h3 class="signature " id="data-instance_method">
|
|
824
|
+
|
|
825
|
+
#<strong>data</strong> ⇒ <tt>Object</tt> <span class="extras">(readonly)</span>
|
|
826
|
+
|
|
827
|
+
|
|
828
|
+
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
</h3><div class="docstring">
|
|
832
|
+
<div class="discussion">
|
|
833
|
+
|
|
834
|
+
|
|
835
|
+
</div>
|
|
836
|
+
</div>
|
|
837
|
+
<div class="tags">
|
|
838
|
+
|
|
839
|
+
|
|
840
|
+
</div><table class="source_code">
|
|
841
|
+
<tr>
|
|
842
|
+
<td>
|
|
843
|
+
<pre class="lines">
|
|
844
|
+
|
|
845
|
+
|
|
846
|
+
7
|
|
847
|
+
8
|
|
848
|
+
9</pre>
|
|
849
|
+
</td>
|
|
850
|
+
<td>
|
|
851
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 7</span>
|
|
852
|
+
|
|
853
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_data'>data</span>
|
|
854
|
+
<span class='ivar'>@data</span>
|
|
855
|
+
<span class='kw'>end</span></pre>
|
|
856
|
+
</td>
|
|
857
|
+
</tr>
|
|
858
|
+
</table>
|
|
859
|
+
</div>
|
|
860
|
+
|
|
861
|
+
</div>
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
<div id="instance_method_details" class="method_details_list">
|
|
865
|
+
<h2>Instance Method Details</h2>
|
|
866
|
+
|
|
867
|
+
|
|
868
|
+
<div class="method_details first">
|
|
869
|
+
<h3 class="signature first" id="button_comp_opts-instance_method">
|
|
870
|
+
|
|
871
|
+
#<strong>button_comp_opts</strong>(label: {}) ⇒ <tt>Object</tt>
|
|
872
|
+
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
|
|
876
|
+
|
|
877
|
+
</h3><div class="docstring">
|
|
878
|
+
<div class="discussion">
|
|
879
|
+
|
|
880
|
+
<p>Returns the options that are given to the initializer when creating a button from this intent.</p>
|
|
881
|
+
|
|
882
|
+
|
|
883
|
+
</div>
|
|
884
|
+
</div>
|
|
885
|
+
<div class="tags">
|
|
886
|
+
|
|
887
|
+
|
|
888
|
+
</div><table class="source_code">
|
|
889
|
+
<tr>
|
|
890
|
+
<td>
|
|
891
|
+
<pre class="lines">
|
|
892
|
+
|
|
893
|
+
|
|
894
|
+
116
|
|
895
|
+
117
|
|
896
|
+
118
|
|
897
|
+
119
|
|
898
|
+
120
|
|
899
|
+
121
|
|
900
|
+
122
|
|
901
|
+
123
|
|
902
|
+
124</pre>
|
|
903
|
+
</td>
|
|
904
|
+
<td>
|
|
905
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 116</span>
|
|
906
|
+
|
|
907
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_button_comp_opts'>button_comp_opts</span><span class='lparen'>(</span><span class='label'>label:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
908
|
+
<span class='kw'>return</span> <span class='ivar'>@custom_args</span><span class='period'>.</span><span class='id identifier rubyid_deep_merge'>deep_merge</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
|
909
|
+
<span class='label'>label:</span> <span class='id identifier rubyid_label'>label</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span><span class='comma'>,</span>
|
|
910
|
+
<span class='label'>href:</span> <span class='id identifier rubyid_feasible?'>feasible?</span> <span class='op'>?</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>:</span> <span class='kw'>nil</span><span class='comma'>,</span>
|
|
911
|
+
<span class='label'>method:</span><span class='comma'>,</span>
|
|
912
|
+
<span class='label'>class:</span> <span class='id identifier rubyid_feasible?'>feasible?</span> <span class='op'>?</span> <span class='kw'>nil</span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>disabled</span><span class='tstring_end'>'</span></span><span class='comma'>,</span>
|
|
913
|
+
<span class='label'>title:</span> <span class='id identifier rubyid_feasible?'>feasible?</span> <span class='op'>?</span> <span class='kw'>nil</span> <span class='op'>:</span> <span class='id identifier rubyid_feasibility_target'>feasibility_target</span><span class='period'>.</span><span class='id identifier rubyid_full_feasibility_messages'>full_feasibility_messages</span><span class='lparen'>(</span><span class='id identifier rubyid_feasibility_action'>feasibility_action</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_presence'>presence</span>
|
|
914
|
+
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
|
915
|
+
<span class='kw'>end</span></pre>
|
|
916
|
+
</td>
|
|
917
|
+
</tr>
|
|
918
|
+
</table>
|
|
919
|
+
</div>
|
|
920
|
+
|
|
921
|
+
<div class="method_details ">
|
|
922
|
+
<h3 class="signature " id="comp-instance_method">
|
|
923
|
+
|
|
924
|
+
#<strong>comp</strong> ⇒ <tt>Object</tt>
|
|
925
|
+
|
|
926
|
+
|
|
927
|
+
|
|
928
|
+
|
|
929
|
+
|
|
930
|
+
</h3><div class="docstring">
|
|
931
|
+
<div class="discussion">
|
|
932
|
+
|
|
933
|
+
<p>Instanciates the component and returns the instance. If <code>data</code> and/or <code>data_class</code> were specified when instantiating this intent, they are passed. All given arguments will be given to the component’s initializer, also overriding <code>data</code> and <code>data_class</code> if present.</p>
|
|
934
|
+
|
|
935
|
+
|
|
936
|
+
</div>
|
|
937
|
+
</div>
|
|
938
|
+
<div class="tags">
|
|
939
|
+
|
|
940
|
+
|
|
941
|
+
</div><table class="source_code">
|
|
942
|
+
<tr>
|
|
943
|
+
<td>
|
|
944
|
+
<pre class="lines">
|
|
945
|
+
|
|
946
|
+
|
|
947
|
+
72
|
|
948
|
+
73
|
|
949
|
+
74</pre>
|
|
950
|
+
</td>
|
|
951
|
+
<td>
|
|
952
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 72</span>
|
|
953
|
+
|
|
954
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_comp'>comp</span><span class='lparen'>(</span><span class='op'>*</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
|
|
955
|
+
<span class='kw'>return</span> <span class='ivar'>@comp</span> <span class='op'>||=</span> <span class='ivar'>@comp_class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>*</span><span class='comma'>,</span> <span class='label'>data:</span> <span class='ivar'>@data</span><span class='comma'>,</span> <span class='label'>data_class:</span> <span class='ivar'>@data_class</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
|
|
956
|
+
<span class='kw'>end</span></pre>
|
|
957
|
+
</td>
|
|
958
|
+
</tr>
|
|
959
|
+
</table>
|
|
960
|
+
</div>
|
|
961
|
+
|
|
962
|
+
<div class="method_details ">
|
|
963
|
+
<h3 class="signature " id="feasibility_action-instance_method">
|
|
964
|
+
|
|
965
|
+
#<strong>feasibility_action</strong> ⇒ <tt>Object</tt>
|
|
966
|
+
|
|
967
|
+
|
|
968
|
+
|
|
969
|
+
|
|
970
|
+
|
|
971
|
+
</h3><div class="docstring">
|
|
972
|
+
<div class="discussion">
|
|
973
|
+
|
|
974
|
+
|
|
975
|
+
</div>
|
|
976
|
+
</div>
|
|
977
|
+
<div class="tags">
|
|
978
|
+
|
|
979
|
+
|
|
980
|
+
</div><table class="source_code">
|
|
981
|
+
<tr>
|
|
982
|
+
<td>
|
|
983
|
+
<pre class="lines">
|
|
984
|
+
|
|
985
|
+
|
|
986
|
+
105
|
|
987
|
+
106
|
|
988
|
+
107</pre>
|
|
989
|
+
</td>
|
|
990
|
+
<td>
|
|
991
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 105</span>
|
|
992
|
+
|
|
993
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_feasibility_action'>feasibility_action</span>
|
|
994
|
+
<span class='ivar'>@feasibility_action</span><span class='period'>.</span><span class='id identifier rubyid_presence'>presence</span> <span class='op'>||</span> <span class='id identifier rubyid_comp_class'>comp_class</span><span class='period'>.</span><span class='id identifier rubyid_comp_name'>comp_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
|
995
|
+
<span class='kw'>end</span></pre>
|
|
996
|
+
</td>
|
|
997
|
+
</tr>
|
|
998
|
+
</table>
|
|
999
|
+
</div>
|
|
1000
|
+
|
|
1001
|
+
<div class="method_details ">
|
|
1002
|
+
<h3 class="signature " id="feasibility_target-instance_method">
|
|
1003
|
+
|
|
1004
|
+
#<strong>feasibility_target</strong> ⇒ <tt>Object</tt>
|
|
1005
|
+
|
|
1006
|
+
|
|
1007
|
+
|
|
1008
|
+
|
|
1009
|
+
|
|
1010
|
+
</h3><div class="docstring">
|
|
1011
|
+
<div class="discussion">
|
|
1012
|
+
|
|
1013
|
+
|
|
1014
|
+
</div>
|
|
1015
|
+
</div>
|
|
1016
|
+
<div class="tags">
|
|
1017
|
+
|
|
1018
|
+
|
|
1019
|
+
</div><table class="source_code">
|
|
1020
|
+
<tr>
|
|
1021
|
+
<td>
|
|
1022
|
+
<pre class="lines">
|
|
1023
|
+
|
|
1024
|
+
|
|
1025
|
+
101
|
|
1026
|
+
102
|
|
1027
|
+
103</pre>
|
|
1028
|
+
</td>
|
|
1029
|
+
<td>
|
|
1030
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 101</span>
|
|
1031
|
+
|
|
1032
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_feasibility_target'>feasibility_target</span>
|
|
1033
|
+
<span class='ivar'>@feasibility_target</span><span class='period'>.</span><span class='id identifier rubyid_presence'>presence</span> <span class='op'>||</span> <span class='id identifier rubyid_model?'>model?</span> <span class='op'>?</span> <span class='ivar'>@data</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
|
1034
|
+
<span class='kw'>end</span></pre>
|
|
1035
|
+
</td>
|
|
1036
|
+
</tr>
|
|
1037
|
+
</table>
|
|
1038
|
+
</div>
|
|
1039
|
+
|
|
1040
|
+
<div class="method_details ">
|
|
1041
|
+
<h3 class="signature " id="feasible?-instance_method">
|
|
1042
|
+
|
|
1043
|
+
#<strong>feasible?</strong> ⇒ <tt>Boolean</tt>
|
|
1044
|
+
|
|
1045
|
+
|
|
1046
|
+
|
|
1047
|
+
|
|
1048
|
+
|
|
1049
|
+
</h3><div class="docstring">
|
|
1050
|
+
<div class="discussion">
|
|
1051
|
+
|
|
1052
|
+
<p>Returns whether this intent is feasible (no prevention)</p>
|
|
1053
|
+
|
|
1054
|
+
|
|
1055
|
+
</div>
|
|
1056
|
+
</div>
|
|
1057
|
+
<div class="tags">
|
|
1058
|
+
|
|
1059
|
+
<p class="tag_title">Returns:</p>
|
|
1060
|
+
<ul class="return">
|
|
1061
|
+
|
|
1062
|
+
<li>
|
|
1063
|
+
|
|
1064
|
+
|
|
1065
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
1066
|
+
|
|
1067
|
+
|
|
1068
|
+
|
|
1069
|
+
</li>
|
|
1070
|
+
|
|
1071
|
+
</ul>
|
|
1072
|
+
|
|
1073
|
+
</div><table class="source_code">
|
|
1074
|
+
<tr>
|
|
1075
|
+
<td>
|
|
1076
|
+
<pre class="lines">
|
|
1077
|
+
|
|
1078
|
+
|
|
1079
|
+
110
|
|
1080
|
+
111
|
|
1081
|
+
112
|
|
1082
|
+
113</pre>
|
|
1083
|
+
</td>
|
|
1084
|
+
<td>
|
|
1085
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 110</span>
|
|
1086
|
+
|
|
1087
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_feasible?'>feasible?</span>
|
|
1088
|
+
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id identifier rubyid_feasibility_target'>feasibility_target</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='id identifier rubyid_feasibility_action'>feasibility_action</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span>
|
|
1089
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_feasibility_target'>feasibility_target</span><span class='period'>.</span><span class='id identifier rubyid_feasible?'>feasible?</span><span class='lparen'>(</span><span class='id identifier rubyid_feasibility_action'>feasibility_action</span><span class='rparen'>)</span>
|
|
1090
|
+
<span class='kw'>end</span></pre>
|
|
1091
|
+
</td>
|
|
1092
|
+
</tr>
|
|
1093
|
+
</table>
|
|
1094
|
+
</div>
|
|
1095
|
+
|
|
1096
|
+
<div class="method_details ">
|
|
1097
|
+
<h3 class="signature " id="label-instance_method">
|
|
1098
|
+
|
|
1099
|
+
#<strong>label</strong>(model = nil, **label_opt_overrides) ⇒ <tt>Object</tt>
|
|
1100
|
+
|
|
1101
|
+
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
|
|
1105
|
+
</h3><div class="docstring">
|
|
1106
|
+
<div class="discussion">
|
|
1107
|
+
|
|
1108
|
+
<p>Returns the label of buttons produced by this intent.</p>
|
|
1109
|
+
|
|
1110
|
+
|
|
1111
|
+
</div>
|
|
1112
|
+
</div>
|
|
1113
|
+
<div class="tags">
|
|
1114
|
+
|
|
1115
|
+
|
|
1116
|
+
</div><table class="source_code">
|
|
1117
|
+
<tr>
|
|
1118
|
+
<td>
|
|
1119
|
+
<pre class="lines">
|
|
1120
|
+
|
|
1121
|
+
|
|
1122
|
+
92
|
|
1123
|
+
93
|
|
1124
|
+
94
|
|
1125
|
+
95</pre>
|
|
1126
|
+
</td>
|
|
1127
|
+
<td>
|
|
1128
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 92</span>
|
|
1129
|
+
|
|
1130
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_label'>label</span><span class='lparen'>(</span><span class='id identifier rubyid_model'>model</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>*</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_label_opt_overrides'>label_opt_overrides</span><span class='rparen'>)</span>
|
|
1131
|
+
<span class='id identifier rubyid_label_opts'>label_opts</span> <span class='op'>=</span> <span class='ivar'>@label_opts</span><span class='period'>.</span><span class='id identifier rubyid_deep_merge'>deep_merge</span><span class='lparen'>(</span><span class='id identifier rubyid_label_opt_overrides'>label_opt_overrides</span><span class='rparen'>)</span>
|
|
1132
|
+
<span class='ivar'>@label</span><span class='period'>.</span><span class='id identifier rubyid_presence'>presence</span> <span class='op'>||</span> <span class='id identifier rubyid_comp'>comp</span><span class='period'>.</span><span class='id identifier rubyid_label'>label</span><span class='lparen'>(</span><span class='id identifier rubyid_model'>model</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_model?'>model?</span> <span class='op'>?</span> <span class='ivar'>@data</span> <span class='op'>:</span> <span class='kw'>nil</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='op'>*</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_label_opts'>label_opts</span><span class='rparen'>)</span>
|
|
1133
|
+
<span class='kw'>end</span></pre>
|
|
1134
|
+
</td>
|
|
1135
|
+
</tr>
|
|
1136
|
+
</table>
|
|
1137
|
+
</div>
|
|
1138
|
+
|
|
1139
|
+
<div class="method_details ">
|
|
1140
|
+
<h3 class="signature " id="method-instance_method">
|
|
1141
|
+
|
|
1142
|
+
#<strong>method</strong> ⇒ <tt>Object</tt>
|
|
1143
|
+
|
|
1144
|
+
|
|
1145
|
+
|
|
1146
|
+
|
|
1147
|
+
|
|
1148
|
+
</h3><div class="docstring">
|
|
1149
|
+
<div class="discussion">
|
|
1150
|
+
|
|
1151
|
+
|
|
1152
|
+
</div>
|
|
1153
|
+
</div>
|
|
1154
|
+
<div class="tags">
|
|
1155
|
+
|
|
1156
|
+
|
|
1157
|
+
</div><table class="source_code">
|
|
1158
|
+
<tr>
|
|
1159
|
+
<td>
|
|
1160
|
+
<pre class="lines">
|
|
1161
|
+
|
|
1162
|
+
|
|
1163
|
+
97
|
|
1164
|
+
98
|
|
1165
|
+
99</pre>
|
|
1166
|
+
</td>
|
|
1167
|
+
<td>
|
|
1168
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 97</span>
|
|
1169
|
+
|
|
1170
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_method'>method</span>
|
|
1171
|
+
<span class='ivar'>@method</span> <span class='op'>||</span> <span class='symbol'>:get</span>
|
|
1172
|
+
<span class='kw'>end</span></pre>
|
|
1173
|
+
</td>
|
|
1174
|
+
</tr>
|
|
1175
|
+
</table>
|
|
1176
|
+
</div>
|
|
1177
|
+
|
|
1178
|
+
<div class="method_details ">
|
|
1179
|
+
<h3 class="signature " id="model?-instance_method">
|
|
1180
|
+
|
|
1181
|
+
#<strong>model?</strong> ⇒ <tt>Boolean</tt>
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
</h3><div class="docstring">
|
|
1188
|
+
<div class="discussion">
|
|
1189
|
+
|
|
1190
|
+
<p>Returns true for things like User.first, but false for things like :users or User</p>
|
|
1191
|
+
|
|
1192
|
+
|
|
1193
|
+
</div>
|
|
1194
|
+
</div>
|
|
1195
|
+
<div class="tags">
|
|
1196
|
+
|
|
1197
|
+
<p class="tag_title">Returns:</p>
|
|
1198
|
+
<ul class="return">
|
|
1199
|
+
|
|
1200
|
+
<li>
|
|
1201
|
+
|
|
1202
|
+
|
|
1203
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
|
1204
|
+
|
|
1205
|
+
|
|
1206
|
+
|
|
1207
|
+
</li>
|
|
1208
|
+
|
|
1209
|
+
</ul>
|
|
1210
|
+
|
|
1211
|
+
</div><table class="source_code">
|
|
1212
|
+
<tr>
|
|
1213
|
+
<td>
|
|
1214
|
+
<pre class="lines">
|
|
1215
|
+
|
|
1216
|
+
|
|
1217
|
+
65
|
|
1218
|
+
66
|
|
1219
|
+
67
|
|
1220
|
+
68</pre>
|
|
1221
|
+
</td>
|
|
1222
|
+
<td>
|
|
1223
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 65</span>
|
|
1224
|
+
|
|
1225
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_model?'>model?</span>
|
|
1226
|
+
<span class='ivar'>@model</span> <span class='op'>=</span> <span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:model_name</span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='op'>!</span><span class='ivar'>@data</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Class</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@model</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
|
|
1227
|
+
<span class='kw'>return</span> <span class='ivar'>@model</span>
|
|
1228
|
+
<span class='kw'>end</span></pre>
|
|
1229
|
+
</td>
|
|
1230
|
+
</tr>
|
|
1231
|
+
</table>
|
|
1232
|
+
</div>
|
|
1233
|
+
|
|
1234
|
+
<div class="method_details ">
|
|
1235
|
+
<h3 class="signature " id="name-instance_method">
|
|
1236
|
+
|
|
1237
|
+
#<strong>name</strong> ⇒ <tt>Object</tt>
|
|
1238
|
+
|
|
1239
|
+
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
|
|
1243
|
+
</h3><div class="docstring">
|
|
1244
|
+
<div class="discussion">
|
|
1245
|
+
|
|
1246
|
+
<p>Returns a name for this intent, consisting of comp and family name. Can be overriden in the constructor. Example: :show_users, :destroy_sessions</p>
|
|
1247
|
+
|
|
1248
|
+
|
|
1249
|
+
</div>
|
|
1250
|
+
</div>
|
|
1251
|
+
<div class="tags">
|
|
1252
|
+
|
|
1253
|
+
|
|
1254
|
+
</div><table class="source_code">
|
|
1255
|
+
<tr>
|
|
1256
|
+
<td>
|
|
1257
|
+
<pre class="lines">
|
|
1258
|
+
|
|
1259
|
+
|
|
1260
|
+
87
|
|
1261
|
+
88
|
|
1262
|
+
89</pre>
|
|
1263
|
+
</td>
|
|
1264
|
+
<td>
|
|
1265
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 87</span>
|
|
1266
|
+
|
|
1267
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_name'>name</span>
|
|
1268
|
+
<span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_presence'>presence</span> <span class='op'>||</span> <span class='symbol'>:"#{</span><span class='id identifier rubyid_comp_class'>comp_class</span><span class='period'>.</span><span class='id identifier rubyid_comp_name'>comp_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_comp_class'>comp_class</span><span class='period'>.</span><span class='id identifier rubyid_family_name'>family_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
|
1269
|
+
<span class='kw'>end</span></pre>
|
|
1270
|
+
</td>
|
|
1271
|
+
</tr>
|
|
1272
|
+
</table>
|
|
1273
|
+
</div>
|
|
1274
|
+
|
|
1275
|
+
<div class="method_details ">
|
|
1276
|
+
<h3 class="signature " id="path-instance_method">
|
|
1277
|
+
|
|
1278
|
+
#<strong>path</strong>(model = nil, standalone_name: nil, **path_opt_overrides) ⇒ <tt>Object</tt>
|
|
1279
|
+
|
|
1280
|
+
|
|
1281
|
+
|
|
1282
|
+
|
|
1283
|
+
|
|
1284
|
+
</h3><div class="docstring">
|
|
1285
|
+
<div class="discussion">
|
|
1286
|
+
|
|
1287
|
+
<p>Returns the path to the component. Additional arguments are passed to the component’s path block, which typically passes them to the Rails path helper.</p>
|
|
1288
|
+
|
|
1289
|
+
|
|
1290
|
+
</div>
|
|
1291
|
+
</div>
|
|
1292
|
+
<div class="tags">
|
|
1293
|
+
<p class="tag_title">Parameters:</p>
|
|
1294
|
+
<ul class="param">
|
|
1295
|
+
|
|
1296
|
+
<li>
|
|
1297
|
+
|
|
1298
|
+
<span class='name'>model</span>
|
|
1299
|
+
|
|
1300
|
+
|
|
1301
|
+
<span class='type'>(<tt>ApplicationRecord</tt>)</span>
|
|
1302
|
+
|
|
1303
|
+
|
|
1304
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
1305
|
+
|
|
1306
|
+
|
|
1307
|
+
—
|
|
1308
|
+
<div class='inline'>
|
|
1309
|
+
<p>If given and non-nil, will override the model passed to the component’s path block</p>
|
|
1310
|
+
</div>
|
|
1311
|
+
|
|
1312
|
+
</li>
|
|
1313
|
+
|
|
1314
|
+
<li>
|
|
1315
|
+
|
|
1316
|
+
<span class='name'>standalone_name</span>
|
|
1317
|
+
|
|
1318
|
+
|
|
1319
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
|
1320
|
+
|
|
1321
|
+
|
|
1322
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
1323
|
+
|
|
1324
|
+
|
|
1325
|
+
—
|
|
1326
|
+
<div class='inline'>
|
|
1327
|
+
<p>If given and non-nil, will override the <code>standalone_name</code> passed to the component’s path block</p>
|
|
1328
|
+
</div>
|
|
1329
|
+
|
|
1330
|
+
</li>
|
|
1331
|
+
|
|
1332
|
+
</ul>
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
</div><table class="source_code">
|
|
1336
|
+
<tr>
|
|
1337
|
+
<td>
|
|
1338
|
+
<pre class="lines">
|
|
1339
|
+
|
|
1340
|
+
|
|
1341
|
+
80
|
|
1342
|
+
81
|
|
1343
|
+
82
|
|
1344
|
+
83</pre>
|
|
1345
|
+
</td>
|
|
1346
|
+
<td>
|
|
1347
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 80</span>
|
|
1348
|
+
|
|
1349
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_path'>path</span><span class='lparen'>(</span><span class='id identifier rubyid_model'>model</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>*</span><span class='comma'>,</span> <span class='label'>standalone_name:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_path_opt_overrides'>path_opt_overrides</span><span class='rparen'>)</span>
|
|
1350
|
+
<span class='id identifier rubyid_path_opts'>path_opts</span> <span class='op'>=</span> <span class='ivar'>@path_opts</span><span class='period'>.</span><span class='id identifier rubyid_deep_merge'>deep_merge</span><span class='lparen'>(</span><span class='id identifier rubyid_path_opt_overrides'>path_opt_overrides</span><span class='rparen'>)</span>
|
|
1351
|
+
<span class='id identifier rubyid_comp'>comp</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='lparen'>(</span><span class='id identifier rubyid_model'>model</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_model?'>model?</span> <span class='op'>?</span> <span class='ivar'>@data</span> <span class='op'>:</span> <span class='kw'>nil</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>standalone_name:</span> <span class='id identifier rubyid_standalone_name'>standalone_name</span> <span class='op'>||</span> <span class='ivar'>@standalone_name</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_path_opts'>path_opts</span><span class='rparen'>)</span>
|
|
1352
|
+
<span class='kw'>end</span></pre>
|
|
1353
|
+
</td>
|
|
1354
|
+
</tr>
|
|
1355
|
+
</table>
|
|
1356
|
+
</div>
|
|
1357
|
+
|
|
1358
|
+
<div class="method_details ">
|
|
1359
|
+
<h3 class="signature " id="render-instance_method">
|
|
1360
|
+
|
|
1361
|
+
#<strong>render</strong>(controller, parent_comp = nil, style: nil, label: {}, **button_comp_opts_overrides) ⇒ <tt>Object</tt>
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
|
|
1365
|
+
|
|
1366
|
+
|
|
1367
|
+
</h3><div class="docstring">
|
|
1368
|
+
<div class="discussion">
|
|
1369
|
+
|
|
1370
|
+
<p>Renders this intent into a button defined by <code>style</code>.</p>
|
|
1371
|
+
|
|
1372
|
+
|
|
1373
|
+
</div>
|
|
1374
|
+
</div>
|
|
1375
|
+
<div class="tags">
|
|
1376
|
+
<p class="tag_title">Parameters:</p>
|
|
1377
|
+
<ul class="param">
|
|
1378
|
+
|
|
1379
|
+
<li>
|
|
1380
|
+
|
|
1381
|
+
<span class='name'>controller</span>
|
|
1382
|
+
|
|
1383
|
+
|
|
1384
|
+
<span class='type'>(<tt>ApplicationController</tt>)</span>
|
|
1385
|
+
|
|
1386
|
+
|
|
1387
|
+
|
|
1388
|
+
—
|
|
1389
|
+
<div class='inline'>
|
|
1390
|
+
<p>The controller from the request context, needed to render the button.</p>
|
|
1391
|
+
</div>
|
|
1392
|
+
|
|
1393
|
+
</li>
|
|
1394
|
+
|
|
1395
|
+
<li>
|
|
1396
|
+
|
|
1397
|
+
<span class='name'>parent_comp</span>
|
|
1398
|
+
|
|
1399
|
+
|
|
1400
|
+
<span class='type'>(<tt><span class='object_link'><a href="Component.html" title="Compony::Component (class)">Compony::Component</a></span></tt>)</span>
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
1404
|
+
|
|
1405
|
+
|
|
1406
|
+
—
|
|
1407
|
+
<div class='inline'>
|
|
1408
|
+
<p>If called from within a component, pass the component to inform the button that it is nested within.</p>
|
|
1409
|
+
</div>
|
|
1410
|
+
|
|
1411
|
+
</li>
|
|
1412
|
+
|
|
1413
|
+
<li>
|
|
1414
|
+
|
|
1415
|
+
<span class='name'>style</span>
|
|
1416
|
+
|
|
1417
|
+
|
|
1418
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
|
1419
|
+
|
|
1420
|
+
|
|
1421
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
|
1422
|
+
|
|
1423
|
+
|
|
1424
|
+
—
|
|
1425
|
+
<div class='inline'>
|
|
1426
|
+
<p>If present, overrides the class of the generated button component, defaults to Compony#default_button_style.</p>
|
|
1427
|
+
</div>
|
|
1428
|
+
|
|
1429
|
+
</li>
|
|
1430
|
+
|
|
1431
|
+
<li>
|
|
1432
|
+
|
|
1433
|
+
<span class='name'>button_comp_opts_overrides</span>
|
|
1434
|
+
|
|
1435
|
+
|
|
1436
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
|
1437
|
+
|
|
1438
|
+
|
|
1439
|
+
|
|
1440
|
+
—
|
|
1441
|
+
<div class='inline'>
|
|
1442
|
+
<p>Any further kwargs are passed to the button component’s initializer.</p>
|
|
1443
|
+
</div>
|
|
1444
|
+
|
|
1445
|
+
</li>
|
|
1446
|
+
|
|
1447
|
+
</ul>
|
|
1448
|
+
|
|
1449
|
+
|
|
1450
|
+
</div><table class="source_code">
|
|
1451
|
+
<tr>
|
|
1452
|
+
<td>
|
|
1453
|
+
<pre class="lines">
|
|
1454
|
+
|
|
1455
|
+
|
|
1456
|
+
131
|
|
1457
|
+
132
|
|
1458
|
+
133
|
|
1459
|
+
134
|
|
1460
|
+
135
|
|
1461
|
+
136
|
|
1462
|
+
137
|
|
1463
|
+
138
|
|
1464
|
+
139
|
|
1465
|
+
140
|
|
1466
|
+
141
|
|
1467
|
+
142
|
|
1468
|
+
143</pre>
|
|
1469
|
+
</td>
|
|
1470
|
+
<td>
|
|
1471
|
+
<pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 131</span>
|
|
1472
|
+
|
|
1473
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='comma'>,</span> <span class='id identifier rubyid_parent_comp'>parent_comp</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>style:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>label:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_button_comp_opts_overrides'>button_comp_opts_overrides</span><span class='rparen'>)</span>
|
|
1474
|
+
<span class='comment'># Check if permitted
|
|
1475
|
+
</span> <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_comp'>comp</span><span class='period'>.</span><span class='id identifier rubyid_standalone_access_permitted_for?'>standalone_access_permitted_for?</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='comma'>,</span> <span class='label'>standalone_name:</span> <span class='ivar'>@standalone_name</span><span class='comma'>,</span> <span class='label'>verb:</span> <span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
|
|
1476
|
+
<span class='comment'># Prepare opts
|
|
1477
|
+
</span> <span class='id identifier rubyid_button_comp_class'>button_comp_class</span> <span class='op'>||=</span> <span class='const'><span class='object_link'><a href="../Compony.html" title="Compony (module)">Compony</a></span></span><span class='period'>.</span><span class='id identifier rubyid_button_component_class'><span class='object_link'><a href="../Compony.html#button_component_class-class_method" title="Compony.button_component_class (method)">button_component_class</a></span></span><span class='lparen'>(</span><span class='op'>*</span><span class='lbracket'>[</span><span class='id identifier rubyid_style'>style</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='rparen'>)</span>
|
|
1478
|
+
<span class='id identifier rubyid_button_opts'>button_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_button_comp_opts'>button_comp_opts</span><span class='lparen'>(</span><span class='label'>label:</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='id identifier rubyid_button_comp_opts_overrides'>button_comp_opts_overrides</span><span class='rparen'>)</span>
|
|
1479
|
+
<span class='comment'># Perform render
|
|
1480
|
+
</span> <span class='kw'>if</span> <span class='id identifier rubyid_parent_comp'>parent_comp</span>
|
|
1481
|
+
<span class='kw'>return</span> <span class='id identifier rubyid_parent_comp'>parent_comp</span><span class='period'>.</span><span class='id identifier rubyid_sub_comp'>sub_comp</span><span class='lparen'>(</span><span class='id identifier rubyid_button_comp_class'>button_comp_class</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_button_opts'>button_opts</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='rparen'>)</span>
|
|
1482
|
+
<span class='kw'>else</span>
|
|
1483
|
+
<span class='id identifier rubyid_button_comp_class'>button_comp_class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>**</span><span class='id identifier rubyid_button_opts'>button_opts</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='rparen'>)</span>
|
|
1484
|
+
<span class='kw'>end</span>
|
|
1485
|
+
<span class='kw'>end</span></pre>
|
|
1486
|
+
</td>
|
|
1487
|
+
</tr>
|
|
1488
|
+
</table>
|
|
1489
|
+
</div>
|
|
1490
|
+
|
|
1491
|
+
</div>
|
|
1492
|
+
|
|
1493
|
+
</div>
|
|
1494
|
+
|
|
1495
|
+
<div id="footer">
|
|
1496
|
+
Generated on Thu Nov 27 16:02:22 2025 by
|
|
1497
|
+
<a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
|
1498
|
+
0.9.34 (ruby-3.3.5).
|
|
1499
|
+
</div>
|
|
1500
|
+
|
|
1501
|
+
</div>
|
|
1502
|
+
</body>
|
|
1503
|
+
</html>
|