compony 0.2.3 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +80 -13
  4. data/VERSION +1 -1
  5. data/compony.gemspec +4 -4
  6. data/doc/ComponentGenerator.html +1 -1
  7. data/doc/Components.html +1 -1
  8. data/doc/ComponentsGenerator.html +1 -1
  9. data/doc/Compony/Component.html +308 -341
  10. data/doc/Compony/ComponentMixins/Default/Labelling.html +1 -1
  11. data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +1 -1
  12. data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +1 -1
  13. data/doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html +1 -1
  14. data/doc/Compony/ComponentMixins/Default/Standalone.html +1 -1
  15. data/doc/Compony/ComponentMixins/Default.html +1 -1
  16. data/doc/Compony/ComponentMixins/Resourceful.html +1 -1
  17. data/doc/Compony/ComponentMixins.html +1 -1
  18. data/doc/Compony/Components/Button.html +3 -3
  19. data/doc/Compony/Components/Destroy.html +3 -3
  20. data/doc/Compony/Components/Edit.html +19 -19
  21. data/doc/Compony/Components/Form.html +3 -3
  22. data/doc/Compony/Components/New.html +19 -19
  23. data/doc/Compony/Components/WithForm.html +4 -4
  24. data/doc/Compony/Components.html +1 -1
  25. data/doc/Compony/ControllerMixin.html +1 -1
  26. data/doc/Compony/Engine.html +1 -1
  27. data/doc/Compony/MethodAccessibleHash.html +1 -1
  28. data/doc/Compony/ModelFields/Anchormodel.html +1 -1
  29. data/doc/Compony/ModelFields/Association.html +1 -1
  30. data/doc/Compony/ModelFields/Attachment.html +1 -1
  31. data/doc/Compony/ModelFields/Base.html +1 -1
  32. data/doc/Compony/ModelFields/Boolean.html +1 -1
  33. data/doc/Compony/ModelFields/Color.html +1 -1
  34. data/doc/Compony/ModelFields/Currency.html +1 -1
  35. data/doc/Compony/ModelFields/Date.html +1 -1
  36. data/doc/Compony/ModelFields/Datetime.html +1 -1
  37. data/doc/Compony/ModelFields/Decimal.html +1 -1
  38. data/doc/Compony/ModelFields/Email.html +1 -1
  39. data/doc/Compony/ModelFields/Float.html +1 -1
  40. data/doc/Compony/ModelFields/Integer.html +1 -1
  41. data/doc/Compony/ModelFields/Percentage.html +1 -1
  42. data/doc/Compony/ModelFields/Phone.html +1 -1
  43. data/doc/Compony/ModelFields/RichText.html +1 -1
  44. data/doc/Compony/ModelFields/String.html +1 -1
  45. data/doc/Compony/ModelFields/Text.html +1 -1
  46. data/doc/Compony/ModelFields/Time.html +1 -1
  47. data/doc/Compony/ModelFields/Url.html +1 -1
  48. data/doc/Compony/ModelFields.html +1 -1
  49. data/doc/Compony/ModelMixin.html +1 -1
  50. data/doc/Compony/NaturalOrdering.html +292 -0
  51. data/doc/Compony/RequestContext.html +72 -1
  52. data/doc/Compony/Version.html +1 -1
  53. data/doc/Compony/ViewHelpers.html +1 -1
  54. data/doc/Compony.html +3 -3
  55. data/doc/ComponyController.html +1 -1
  56. data/doc/_index.html +8 -1
  57. data/doc/class_list.html +1 -1
  58. data/doc/file.README.html +73 -16
  59. data/doc/index.html +73 -16
  60. data/doc/method_list.html +100 -100
  61. data/doc/top-level-namespace.html +1 -1
  62. data/lib/compony/component.rb +30 -54
  63. data/lib/compony/components/edit.rb +2 -4
  64. data/lib/compony/components/new.rb +4 -6
  65. data/lib/compony/components/with_form.rb +1 -1
  66. data/lib/compony/natural_ordering.rb +56 -0
  67. data/lib/compony/request_context.rb +8 -0
  68. data/lib/compony.rb +1 -0
  69. metadata +4 -2
@@ -143,6 +143,35 @@
143
143
 
144
144
  <span class="summary_desc"><div class='inline'></div></span>
145
145
 
146
+ </li>
147
+
148
+
149
+ <li class="public ">
150
+ <span class="summary_signature">
151
+
152
+ <a href="#content_blocks-instance_method" title="#content_blocks (instance method)">#<strong>content_blocks</strong> &#x21d2; Object </a>
153
+
154
+
155
+
156
+ </span>
157
+
158
+
159
+
160
+
161
+ <span class="note title readonly">readonly</span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+ <span class="summary_desc"><div class='inline'>
172
+ <p>needed in RequestContext for nesting.</p>
173
+ </div></span>
174
+
146
175
  </li>
147
176
 
148
177
 
@@ -246,7 +275,7 @@
246
275
  <li class="public ">
247
276
  <span class="summary_signature">
248
277
 
249
- <a href="#add_content-instance_method" title="#add_content (instance method)">#<strong>add_content</strong>(index = -1,, &amp;block) &#x21d2; Object </a>
278
+ <a href="#before_render-instance_method" title="#before_render (instance method)">#<strong>before_render</strong>(name = :main, before: nil, **kwargs, &amp;block) &#x21d2; Object </a>
250
279
 
251
280
 
252
281
 
@@ -261,77 +290,9 @@
261
290
 
262
291
 
263
292
  <span class="summary_desc"><div class='inline'>
264
- <p>DSL method Adds a content block that will be executed after all previous ones.</p>
293
+ <p>DSL method Adds or overrides a before_render block.</p>
265
294
  </div></span>
266
295
 
267
- </li>
268
-
269
-
270
- <li class="public ">
271
- <span class="summary_signature">
272
-
273
- <a href="#before_render-instance_method" title="#before_render (instance method)">#<strong>before_render</strong>(&amp;block) &#x21d2; Object </a>
274
-
275
-
276
-
277
- </span>
278
-
279
-
280
-
281
-
282
-
283
-
284
-
285
-
286
-
287
- <span class="summary_desc"><div class='inline'>
288
- <p>DSL method.</p>
289
- </div></span>
290
-
291
- </li>
292
-
293
-
294
- <li class="public ">
295
- <span class="summary_signature">
296
-
297
- <a href="#comp_class_for-instance_method" title="#comp_class_for (instance method)">#<strong>comp_class_for</strong> &#x21d2; Object </a>
298
-
299
-
300
-
301
- </span>
302
-
303
-
304
-
305
-
306
-
307
-
308
-
309
-
310
-
311
- <span class="summary_desc"><div class='inline'></div></span>
312
-
313
- </li>
314
-
315
-
316
- <li class="public ">
317
- <span class="summary_signature">
318
-
319
- <a href="#comp_class_for!-instance_method" title="#comp_class_for! (instance method)">#<strong>comp_class_for!</strong> &#x21d2; Object </a>
320
-
321
-
322
-
323
- </span>
324
-
325
-
326
-
327
-
328
-
329
-
330
-
331
-
332
-
333
- <span class="summary_desc"><div class='inline'></div></span>
334
-
335
296
  </li>
336
297
 
337
298
 
@@ -386,7 +347,7 @@
386
347
  <li class="public ">
387
348
  <span class="summary_signature">
388
349
 
389
- <a href="#content-instance_method" title="#content (instance method)">#<strong>content</strong>(&amp;block) &#x21d2; Object </a>
350
+ <a href="#content-instance_method" title="#content (instance method)">#<strong>content</strong>(name = :main, before: nil, **kwargs, &amp;block) &#x21d2; Object </a>
390
351
 
391
352
 
392
353
 
@@ -401,7 +362,7 @@
401
362
 
402
363
 
403
364
  <span class="summary_desc"><div class='inline'>
404
- <p>DSL method Overrides previous content (also from superclasses).</p>
365
+ <p>DSL method Adds or overrides a content block.</p>
405
366
  </div></span>
406
367
 
407
368
  </li>
@@ -799,7 +760,6 @@
799
760
  <pre class="lines">
800
761
 
801
762
 
802
- 22
803
763
  23
804
764
  24
805
765
  25
@@ -817,19 +777,20 @@
817
777
  37
818
778
  38
819
779
  39
820
- 40</pre>
780
+ 40
781
+ 41</pre>
821
782
  </td>
822
783
  <td>
823
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 22</span>
784
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 23</span>
824
785
 
825
786
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</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'>index:</span> <span class='int'>0</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_comp_opts'>comp_opts</span><span class='rparen'>)</span>
826
787
  <span class='ivar'>@parent_comp</span> <span class='op'>=</span> <span class='id identifier rubyid_parent_comp'>parent_comp</span>
827
788
  <span class='ivar'>@sub_comps</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
828
789
  <span class='ivar'>@index</span> <span class='op'>=</span> <span class='id identifier rubyid_index'>index</span>
829
790
  <span class='ivar'>@comp_opts</span> <span class='op'>=</span> <span class='id identifier rubyid_comp_opts'>comp_opts</span>
830
- <span class='ivar'>@before_render_block</span> <span class='op'>=</span> <span class='kw'>nil</span>
831
- <span class='ivar'>@content_blocks</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
832
- <span class='ivar'>@actions</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
791
+ <span class='ivar'>@before_render_blocks</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
792
+ <span class='ivar'>@content_blocks</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
793
+ <span class='ivar'>@actions</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="NaturalOrdering.html" title="Compony::NaturalOrdering (class)">NaturalOrdering</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
833
794
  <span class='ivar'>@skipped_actions</span> <span class='op'>=</span> <span class='const'>Set</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span>
834
795
 
835
796
  <span class='id identifier rubyid_init_standalone'>init_standalone</span>
@@ -893,6 +854,49 @@
893
854
  </div>
894
855
 
895
856
 
857
+ <span id=""></span>
858
+ <div class="method_details ">
859
+ <h3 class="signature " id="content_blocks-instance_method">
860
+
861
+ #<strong>content_blocks</strong> &#x21d2; <tt>Object</tt> <span class="extras">(readonly)</span>
862
+
863
+
864
+
865
+
866
+
867
+ </h3><div class="docstring">
868
+ <div class="discussion">
869
+
870
+ <p>needed in RequestContext for nesting</p>
871
+
872
+
873
+ </div>
874
+ </div>
875
+ <div class="tags">
876
+
877
+
878
+ </div><table class="source_code">
879
+ <tr>
880
+ <td>
881
+ <pre class="lines">
882
+
883
+
884
+ 10
885
+ 11
886
+ 12</pre>
887
+ </td>
888
+ <td>
889
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 10</span>
890
+
891
+ <span class='kw'>def</span> <span class='id identifier rubyid_content_blocks'>content_blocks</span>
892
+ <span class='ivar'>@content_blocks</span>
893
+ <span class='kw'>end</span></pre>
894
+ </td>
895
+ </tr>
896
+ </table>
897
+ </div>
898
+
899
+
896
900
  <span id=""></span>
897
901
  <div class="method_details ">
898
902
  <h3 class="signature " id="parent_comp-instance_method">
@@ -966,15 +970,15 @@
966
970
  <pre class="lines">
967
971
 
968
972
 
969
- 15
970
973
  16
971
974
  17
972
975
  18
973
976
  19
974
- 20</pre>
977
+ 20
978
+ 21</pre>
975
979
  </td>
976
980
  <td>
977
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 15</span>
981
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 16</span>
978
982
 
979
983
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_setup'>setup</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
980
984
  <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>`setup` expects a block in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
@@ -1019,96 +1023,15 @@
1019
1023
  <pre class="lines">
1020
1024
 
1021
1025
 
1022
- 181
1023
- 182
1024
- 183
1025
- 184
1026
- 185
1027
- 186
1028
- 187
1029
- 188
1030
- 189
1031
- 190
1032
- 191
1033
- 192
1034
- 193
1035
- 194
1036
- 195
1037
- 196
1038
- 197
1039
- 198
1040
- 199
1041
- 200
1042
- 201</pre>
1026
+ 175
1027
+ 176
1028
+ 177</pre>
1043
1029
  </td>
1044
1030
  <td>
1045
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 181</span>
1031
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 175</span>
1046
1032
 
1047
1033
  <span class='kw'>def</span> <span class='id identifier rubyid_action'>action</span><span class='lparen'>(</span><span class='id identifier rubyid_action_name'>action_name</span><span class='comma'>,</span> <span class='label'>before:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1048
- <span class='id identifier rubyid_action_name'>action_name</span> <span class='op'>=</span> <span class='id identifier rubyid_action_name'>action_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
1049
- <span class='id identifier rubyid_before_name'>before_name</span> <span class='op'>=</span> <span class='id identifier rubyid_before'>before</span><span class='op'>&amp;.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
1050
- <span class='id identifier rubyid_action'>action</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="MethodAccessibleHash.html" title="Compony::MethodAccessibleHash (class)">MethodAccessibleHash</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="MethodAccessibleHash.html#initialize-instance_method" title="Compony::MethodAccessibleHash#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>name:</span> <span class='id identifier rubyid_action_name'>action_name</span><span class='comma'>,</span> <span class='label'>block:</span><span class='rparen'>)</span>
1051
-
1052
- <span class='id identifier rubyid_existing_index'>existing_index</span> <span class='op'>=</span> <span class='ivar'>@actions</span><span class='period'>.</span><span class='id identifier rubyid_find_index'>find_index</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_el'>el</span><span class='op'>|</span> <span class='id identifier rubyid_el'>el</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='op'>==</span> <span class='id identifier rubyid_action_name'>action_name</span> <span class='rbrace'>}</span>
1053
- <span class='kw'>if</span> <span class='id identifier rubyid_existing_index'>existing_index</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_before_name'>before_name</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1054
- <span class='ivar'>@actions</span><span class='period'>.</span><span class='id identifier rubyid_delete_at'>delete_at</span><span class='lparen'>(</span><span class='id identifier rubyid_existing_index'>existing_index</span><span class='rparen'>)</span> <span class='comment'># Replacing an existing element with a before: directive - must delete before calculating indices
1055
- </span> <span class='kw'>end</span>
1056
- <span class='kw'>if</span> <span class='id identifier rubyid_before_name'>before_name</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1057
- <span class='id identifier rubyid_before_index'>before_index</span> <span class='op'>=</span> <span class='ivar'>@actions</span><span class='period'>.</span><span class='id identifier rubyid_find_index'>find_index</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_el'>el</span><span class='op'>|</span> <span class='id identifier rubyid_el'>el</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='op'>==</span> <span class='id identifier rubyid_before_name'>before_name</span> <span class='rbrace'>}</span> <span class='op'>||</span> <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Action </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_before_name'>before_name</span><span class='embexpr_end'>}</span><span class='tstring_content'> for :before not found in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1058
- <span class='kw'>end</span>
1059
-
1060
- <span class='kw'>if</span> <span class='id identifier rubyid_before_index'>before_index</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1061
- <span class='ivar'>@actions</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span><span class='id identifier rubyid_before_index'>before_index</span><span class='comma'>,</span> <span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
1062
- <span class='kw'>elsif</span> <span class='id identifier rubyid_existing_index'>existing_index</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1063
- <span class='ivar'>@actions</span><span class='lbracket'>[</span><span class='id identifier rubyid_existing_index'>existing_index</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span>
1064
- <span class='kw'>else</span>
1065
- <span class='ivar'>@actions</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_action'>action</span>
1066
- <span class='kw'>end</span>
1067
- <span class='kw'>end</span></pre>
1068
- </td>
1069
- </tr>
1070
- </table>
1071
- </div>
1072
-
1073
- <div class="method_details ">
1074
- <h3 class="signature " id="add_content-instance_method">
1075
-
1076
- #<strong>add_content</strong>(index = -1,, &amp;block) &#x21d2; <tt>Object</tt>
1077
-
1078
-
1079
-
1080
-
1081
-
1082
- </h3><div class="docstring">
1083
- <div class="discussion">
1084
-
1085
- <p>DSL method Adds a content block that will be executed after all previous ones. It is safe to use this method even if <code>content</code> has never been called You can use dyny here.</p>
1086
-
1087
-
1088
- </div>
1089
- </div>
1090
- <div class="tags">
1091
-
1092
-
1093
- </div><table class="source_code">
1094
- <tr>
1095
- <td>
1096
- <pre class="lines">
1097
-
1098
-
1099
- 141
1100
- 142
1101
- 143
1102
- 144
1103
- 145</pre>
1104
- </td>
1105
- <td>
1106
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 141</span>
1107
-
1108
- <span class='kw'>def</span> <span class='id identifier rubyid_add_content'>add_content</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span> <span class='op'>=</span> <span class='op'>-</span><span class='int'>1</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1109
- <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>`content` expects a block in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1110
- <span class='ivar'>@content_blocks</span> <span class='op'>||=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1111
- <span class='ivar'>@content_blocks</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='comma'>,</span> <span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1034
+ <span class='ivar'>@actions</span><span class='period'>.</span><span class='id identifier rubyid_natural_push'>natural_push</span><span class='lparen'>(</span><span class='id identifier rubyid_action_name'>action_name</span><span class='comma'>,</span> <span class='id identifier rubyid_block'>block</span><span class='comma'>,</span> <span class='label'>before:</span><span class='rparen'>)</span>
1112
1035
  <span class='kw'>end</span></pre>
1113
1036
  </td>
1114
1037
  </tr>
@@ -1118,7 +1041,7 @@
1118
1041
  <div class="method_details ">
1119
1042
  <h3 class="signature " id="before_render-instance_method">
1120
1043
 
1121
- #<strong>before_render</strong>(&amp;block) &#x21d2; <tt>Object</tt>
1044
+ #<strong>before_render</strong>(name = :main, before: nil, **kwargs, &amp;block) &#x21d2; <tt>Object</tt>
1122
1045
 
1123
1046
 
1124
1047
 
@@ -1127,107 +1050,69 @@
1127
1050
  </h3><div class="docstring">
1128
1051
  <div class="discussion">
1129
1052
 
1130
- <p>DSL method</p>
1053
+ <p>DSL method Adds or overrides a before_render block. You can use controller.redirect_to to redirect away and halt the before_render/content chain</p>
1131
1054
 
1132
1055
 
1133
1056
  </div>
1134
1057
  </div>
1135
1058
  <div class="tags">
1059
+ <p class="tag_title">Parameters:</p>
1060
+ <ul class="param">
1136
1061
 
1137
-
1138
- </div><table class="source_code">
1139
- <tr>
1140
- <td>
1141
- <pre class="lines">
1142
-
1143
-
1144
- 125
1145
- 126
1146
- 127</pre>
1147
- </td>
1148
- <td>
1149
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 125</span>
1150
-
1151
- <span class='kw'>def</span> <span class='id identifier rubyid_before_render'>before_render</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1152
- <span class='ivar'>@before_render_block</span> <span class='op'>=</span> <span class='id identifier rubyid_block'>block</span>
1153
- <span class='kw'>end</span></pre>
1154
- </td>
1155
- </tr>
1156
- </table>
1062
+ <li>
1063
+
1064
+ <span class='name'>name</span>
1065
+
1066
+
1067
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
1068
+
1069
+
1070
+ <em class="default">(defaults to: <tt>:main</tt>)</em>
1071
+
1072
+
1073
+ &mdash;
1074
+ <div class='inline'>
1075
+ <p>The name of the before_render block, defaults to <code>:main</code></p>
1157
1076
  </div>
1158
-
1159
- <div class="method_details ">
1160
- <h3 class="signature " id="comp_class_for-instance_method">
1161
-
1162
- #<strong>comp_class_for</strong> &#x21d2; <tt>Object</tt>
1163
-
1164
-
1165
-
1166
-
1077
+
1078
+ </li>
1167
1079
 
1168
- </h3><div class="docstring">
1169
- <div class="discussion">
1170
-
1171
- <div class="note todo">
1172
- <strong>TODO:</strong>
1173
- <div class='inline'>
1174
- <p>deprecate (check for usages beforehand)</p>
1175
- </div>
1176
- </div>
1177
-
1178
-
1179
-
1180
- </div>
1080
+ <li>
1081
+
1082
+ <span class='name'>before</span>
1083
+
1084
+
1085
+ <span class='type'>(<tt>nil</tt>, <tt>Symbol</tt>, <tt>String</tt>)</span>
1086
+
1087
+
1088
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1089
+
1090
+
1091
+ &mdash;
1092
+ <div class='inline'>
1093
+ <p>If nil, the block will be added to the bottom of the before_render chain. Otherwise, pass the name of another block.</p>
1181
1094
  </div>
1182
- <div class="tags">
1095
+
1096
+ </li>
1183
1097
 
1184
-
1185
- </div><table class="source_code">
1186
- <tr>
1187
- <td>
1188
- <pre class="lines">
1189
-
1190
-
1191
- 115
1192
- 116
1193
- 117</pre>
1194
- </td>
1195
- <td>
1196
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 115</span>
1197
-
1198
- <span class='kw'>def</span> <span class='id identifier rubyid_comp_class_for'>comp_class_for</span><span class='lparen'>(</span><span class='op'>...</span><span class='rparen'>)</span>
1199
- <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_comp_class_for'><span class='object_link'><a href="../Compony.html#comp_class_for-class_method" title="Compony.comp_class_for (method)">comp_class_for</a></span></span><span class='lparen'>(</span><span class='op'>...</span><span class='rparen'>)</span>
1200
- <span class='kw'>end</span></pre>
1201
- </td>
1202
- </tr>
1203
- </table>
1098
+ <li>
1099
+
1100
+ <span class='name'>block</span>
1101
+
1102
+
1103
+ <span class='type'>(<tt>Proc</tt>)</span>
1104
+
1105
+
1106
+
1107
+ &mdash;
1108
+ <div class='inline'>
1109
+ <p>The block that should be run as part of the before_render pipeline. Will run in the component’s context.</p>
1204
1110
  </div>
1205
-
1206
- <div class="method_details ">
1207
- <h3 class="signature " id="comp_class_for!-instance_method">
1208
-
1209
- #<strong>comp_class_for!</strong> &#x21d2; <tt>Object</tt>
1210
-
1211
-
1212
-
1213
-
1111
+
1112
+ </li>
1214
1113
 
1215
- </h3><div class="docstring">
1216
- <div class="discussion">
1217
-
1218
- <div class="note todo">
1219
- <strong>TODO:</strong>
1220
- <div class='inline'>
1221
- <p>deprecate (check for usages beforehand)</p>
1222
- </div>
1223
- </div>
1224
-
1225
-
1114
+ </ul>
1226
1115
 
1227
- </div>
1228
- </div>
1229
- <div class="tags">
1230
-
1231
1116
 
1232
1117
  </div><table class="source_code">
1233
1118
  <tr>
@@ -1235,15 +1120,17 @@
1235
1120
  <pre class="lines">
1236
1121
 
1237
1122
 
1238
- 120
1239
1123
  121
1240
- 122</pre>
1124
+ 122
1125
+ 123
1126
+ 124</pre>
1241
1127
  </td>
1242
1128
  <td>
1243
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 120</span>
1129
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 121</span>
1244
1130
 
1245
- <span class='kw'>def</span> <span class='id identifier rubyid_comp_class_for!'>comp_class_for!</span><span class='lparen'>(</span><span class='op'>...</span><span class='rparen'>)</span>
1246
- <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_comp_class_for!'><span class='object_link'><a href="../Compony.html#comp_class_for!-class_method" title="Compony.comp_class_for! (method)">comp_class_for!</a></span></span><span class='lparen'>(</span><span class='op'>...</span><span class='rparen'>)</span>
1131
+ <span class='kw'>def</span> <span class='id identifier rubyid_before_render'>before_render</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='symbol'>:main</span><span class='comma'>,</span> <span class='label'>before:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_kwargs'>kwargs</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1132
+ <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>`before_render` expects a block in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1133
+ <span class='ivar'>@before_render_blocks</span><span class='period'>.</span><span class='id identifier rubyid_natural_push'>natural_push</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_block'>block</span><span class='comma'>,</span> <span class='label'>before:</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_kwargs'>kwargs</span><span class='rparen'>)</span>
1247
1134
  <span class='kw'>end</span></pre>
1248
1135
  </td>
1249
1136
  </tr>
@@ -1276,12 +1163,12 @@
1276
1163
  <pre class="lines">
1277
1164
 
1278
1165
 
1279
- 105
1280
1166
  106
1281
- 107</pre>
1167
+ 107
1168
+ 108</pre>
1282
1169
  </td>
1283
1170
  <td>
1284
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 105</span>
1171
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 106</span>
1285
1172
 
1286
1173
  <span class='kw'>def</span> <span class='id identifier rubyid_comp_cst'>comp_cst</span>
1287
1174
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_demodulize'>demodulize</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
@@ -1317,12 +1204,12 @@
1317
1204
  <pre class="lines">
1318
1205
 
1319
1206
 
1320
- 110
1321
1207
  111
1322
- 112</pre>
1208
+ 112
1209
+ 113</pre>
1323
1210
  </td>
1324
1211
  <td>
1325
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 110</span>
1212
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 111</span>
1326
1213
 
1327
1214
  <span class='kw'>def</span> <span class='id identifier rubyid_comp_name'>comp_name</span>
1328
1215
  <span class='id identifier rubyid_comp_cst'>comp_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>
@@ -1335,7 +1222,7 @@
1335
1222
  <div class="method_details ">
1336
1223
  <h3 class="signature " id="content-instance_method">
1337
1224
 
1338
- #<strong>content</strong>(&amp;block) &#x21d2; <tt>Object</tt>
1225
+ #<strong>content</strong>(name = :main, before: nil, **kwargs, &amp;block) &#x21d2; <tt>Object</tt>
1339
1226
 
1340
1227
 
1341
1228
 
@@ -1344,13 +1231,85 @@
1344
1231
  </h3><div class="docstring">
1345
1232
  <div class="discussion">
1346
1233
 
1347
- <p>DSL method Overrides previous content (also from superclasses). Will be the first content block to run. You can use dyny here.</p>
1234
+ <p>DSL method Adds or overrides a content block.</p>
1348
1235
 
1349
1236
 
1350
1237
  </div>
1351
1238
  </div>
1352
1239
  <div class="tags">
1240
+ <p class="tag_title">Parameters:</p>
1241
+ <ul class="param">
1242
+
1243
+ <li>
1244
+
1245
+ <span class='name'>name</span>
1246
+
1247
+
1248
+ <span class='type'>(<tt>Symbol</tt>, <tt>String</tt>)</span>
1249
+
1250
+
1251
+ <em class="default">(defaults to: <tt>:main</tt>)</em>
1252
+
1253
+
1254
+ &mdash;
1255
+ <div class='inline'>
1256
+ <p>The name of the content block, defaults to <code>:main</code></p>
1257
+ </div>
1258
+
1259
+ </li>
1260
+
1261
+ <li>
1262
+
1263
+ <span class='name'>before</span>
1264
+
1265
+
1266
+ <span class='type'>(<tt>nil</tt>, <tt>Symbol</tt>, <tt>String</tt>)</span>
1267
+
1268
+
1269
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1270
+
1271
+
1272
+ &mdash;
1273
+ <div class='inline'>
1274
+ <p>If nil, the block will be added to the bottom of the content chain. Otherwise, pass the name of another block.</p>
1275
+ </div>
1276
+
1277
+ </li>
1278
+
1279
+ <li>
1280
+
1281
+ <span class='name'>kwargs</span>
1282
+
1283
+
1284
+ <span class='type'>(<tt>Hash</tt>)</span>
1285
+
1286
+
1287
+
1288
+ &mdash;
1289
+ <div class='inline'>
1290
+ <p>If hidden is true, the content will not be rendered by default, allowing you to nest it in another content block.</p>
1291
+ </div>
1292
+
1293
+ </li>
1294
+
1295
+ <li>
1296
+
1297
+ <span class='name'>block</span>
1298
+
1299
+
1300
+ <span class='type'>(<tt>Proc</tt>)</span>
1301
+
1302
+
1303
+
1304
+ &mdash;
1305
+ <div class='inline'>
1306
+ <p>The block that should be run as part of the content pipeline. Will run in the component’s context. You can use Dyny here.</p>
1307
+ </div>
1308
+
1309
+ </li>
1353
1310
 
1311
+ </ul>
1312
+
1354
1313
 
1355
1314
  </div><table class="source_code">
1356
1315
  <tr>
@@ -1366,9 +1325,9 @@
1366
1325
  <td>
1367
1326
  <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 132</span>
1368
1327
 
1369
- <span class='kw'>def</span> <span class='id identifier rubyid_content'>content</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1328
+ <span class='kw'>def</span> <span class='id identifier rubyid_content'>content</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='symbol'>:main</span><span class='comma'>,</span> <span class='label'>before:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_kwargs'>kwargs</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
1370
1329
  <span class='id identifier rubyid_fail'>fail</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>`content` expects a block in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
1371
- <span class='ivar'>@content_blocks</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='id identifier rubyid_block'>block</span><span class='rbracket'>]</span>
1330
+ <span class='ivar'>@content_blocks</span><span class='period'>.</span><span class='id identifier rubyid_natural_push'>natural_push</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_block'>block</span><span class='comma'>,</span> <span class='label'>before:</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_kwargs'>kwargs</span><span class='rparen'>)</span>
1372
1331
  <span class='kw'>end</span></pre>
1373
1332
  </td>
1374
1333
  </tr>
@@ -1401,12 +1360,12 @@
1401
1360
  <pre class="lines">
1402
1361
 
1403
1362
 
1404
- 95
1405
1363
  96
1406
- 97</pre>
1364
+ 97
1365
+ 98</pre>
1407
1366
  </td>
1408
1367
  <td>
1409
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 95</span>
1368
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 96</span>
1410
1369
 
1411
1370
  <span class='kw'>def</span> <span class='id identifier rubyid_family_cst'>family_cst</span>
1412
1371
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_module_parent'>module_parent</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_demodulize'>demodulize</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
@@ -1442,12 +1401,12 @@
1442
1401
  <pre class="lines">
1443
1402
 
1444
1403
 
1445
- 100
1446
1404
  101
1447
- 102</pre>
1405
+ 102
1406
+ 103</pre>
1448
1407
  </td>
1449
1408
  <td>
1450
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 100</span>
1409
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 101</span>
1451
1410
 
1452
1411
  <span class='kw'>def</span> <span class='id identifier rubyid_family_name'>family_name</span>
1453
1412
  <span class='id identifier rubyid_family_cst'>family_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>
@@ -1483,12 +1442,12 @@
1483
1442
  <pre class="lines">
1484
1443
 
1485
1444
 
1486
- 61
1487
1445
  62
1488
- 63</pre>
1446
+ 63
1447
+ 64</pre>
1489
1448
  </td>
1490
1449
  <td>
1491
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 61</span>
1450
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 62</span>
1492
1451
 
1493
1452
  <span class='kw'>def</span> <span class='id identifier rubyid_id'>id</span>
1494
1453
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_family_name'>family_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>_</span><span class='embexpr_beg'>#{</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='ivar'>@index</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
@@ -1522,12 +1481,12 @@
1522
1481
  <pre class="lines">
1523
1482
 
1524
1483
 
1525
- 42
1526
1484
  43
1527
- 44</pre>
1485
+ 44
1486
+ 45</pre>
1528
1487
  </td>
1529
1488
  <td>
1530
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 42</span>
1489
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 43</span>
1531
1490
 
1532
1491
  <span class='kw'>def</span> <span class='id identifier rubyid_inspect'>inspect</span>
1533
1492
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>#&lt;</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_hash'>hash</span><span class='embexpr_end'>}</span><span class='tstring_content'>&gt;</span><span class='tstring_end'>&quot;</span></span>
@@ -1563,12 +1522,12 @@
1563
1522
  <pre class="lines">
1564
1523
 
1565
1524
 
1566
- 83
1567
1525
  84
1568
- 85</pre>
1526
+ 85
1527
+ 86</pre>
1569
1528
  </td>
1570
1529
  <td>
1571
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 83</span>
1530
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 84</span>
1572
1531
 
1573
1532
  <span class='kw'>def</span> <span class='id identifier rubyid_param_name'>param_name</span><span class='lparen'>(</span><span class='id identifier rubyid_unprefixed_param_name'>unprefixed_param_name</span><span class='rparen'>)</span>
1574
1533
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_path_hash'>path_hash</span><span class='embexpr_end'>}</span><span class='tstring_content'>_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_unprefixed_param_name'>unprefixed_param_name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
@@ -1604,16 +1563,16 @@
1604
1563
  <pre class="lines">
1605
1564
 
1606
1565
 
1607
- 67
1608
1566
  68
1609
1567
  69
1610
1568
  70
1611
1569
  71
1612
1570
  72
1613
- 73</pre>
1571
+ 73
1572
+ 74</pre>
1614
1573
  </td>
1615
1574
  <td>
1616
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 67</span>
1575
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 68</span>
1617
1576
 
1618
1577
  <span class='kw'>def</span> <span class='id identifier rubyid_path'>path</span>
1619
1578
  <span class='kw'>if</span> <span class='id identifier rubyid_root_comp?'>root_comp?</span>
@@ -1653,12 +1612,12 @@
1653
1612
  <pre class="lines">
1654
1613
 
1655
1614
 
1656
- 77
1657
1615
  78
1658
- 79</pre>
1616
+ 79
1617
+ 80</pre>
1659
1618
  </td>
1660
1619
  <td>
1661
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 77</span>
1620
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 78</span>
1662
1621
 
1663
1622
  <span class='kw'>def</span> <span class='id identifier rubyid_path_hash'>path_hash</span>
1664
1623
  <span class='const'>Digest</span><span class='op'>::</span><span class='const'>SHA1</span><span class='period'>.</span><span class='id identifier rubyid_hexdigest'>hexdigest</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='op'>..</span><span class='int'>4</span><span class='rbracket'>]</span>
@@ -1716,6 +1675,16 @@
1716
1675
  <pre class="lines">
1717
1676
 
1718
1677
 
1678
+ 140
1679
+ 141
1680
+ 142
1681
+ 143
1682
+ 144
1683
+ 145
1684
+ 146
1685
+ 147
1686
+ 148
1687
+ 149
1719
1688
  150
1720
1689
  151
1721
1690
  152
@@ -1736,21 +1705,19 @@
1736
1705
  167
1737
1706
  168
1738
1707
  169
1739
- 170
1740
- 171
1741
- 172
1742
- 173
1743
- 174
1744
- 175
1745
- 176</pre>
1708
+ 170</pre>
1746
1709
  </td>
1747
1710
  <td>
1748
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 150</span>
1711
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 140</span>
1749
1712
 
1750
1713
  <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='label'>standalone:</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_locals'>locals</span><span class='rparen'>)</span>
1751
- <span class='comment'># Call before_render hook if any and backfire instance variables back to the component
1752
- </span> <span class='comment'># TODO: Can .request_context be removed from the next line? Test well!
1753
- </span> <span class='const'><span class='object_link'><a href="RequestContext.html" title="Compony::RequestContext (class)">RequestContext</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="RequestContext.html#initialize-instance_method" title="Compony::RequestContext#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_controller'>controller</span><span class='comma'>,</span> <span class='label'>locals:</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_request_context'><span class='object_link'><a href="RequestContext.html#request_context-instance_method" title="Compony::RequestContext#request_context (method)">request_context</a></span></span><span class='period'>.</span><span class='id identifier rubyid_evaluate_with_backfire'>evaluate_with_backfire</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='ivar'>@before_render_block</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@before_render_block</span>
1714
+ <span class='comment'># Call before_render hooks (if any) and backfire instance variables back to the component
1715
+ </span> <span class='ivar'>@before_render_blocks</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_element'>element</span><span class='op'>|</span>
1716
+ <span class='const'><span class='object_link'><a href="RequestContext.html" title="Compony::RequestContext (class)">RequestContext</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="RequestContext.html#initialize-instance_method" title="Compony::RequestContext#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_controller'>controller</span><span class='comma'>,</span> <span class='label'>locals:</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_evaluate_with_backfire'><span class='object_link'><a href="RequestContext.html#evaluate_with_backfire-instance_method" title="Compony::RequestContext#evaluate_with_backfire (method)">evaluate_with_backfire</a></span></span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='id identifier rubyid_element'>element</span><span class='period'>.</span><span class='id identifier rubyid_payload'>payload</span><span class='rparen'>)</span>
1717
+ <span class='comment'># Stop if a `before_render` block issued a body (e.g. through redirecting)
1718
+ </span> <span class='kw'>break</span> <span class='kw'>unless</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_response_body'>response_body</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1719
+ <span class='kw'>end</span>
1720
+
1754
1721
  <span class='comment'># Render, unless before_render has already issued a body (e.g. through redirecting).
1755
1722
  </span> <span class='kw'>if</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_response_body'>response_body</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1756
1723
  <span class='id identifier rubyid_fail'>fail</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'> must define `content` or set a response body in `before_render`</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='ivar'>@content_blocks</span><span class='period'>.</span><span class='id identifier rubyid_none?'>none?</span>
@@ -1761,9 +1728,9 @@
1761
1728
  <span class='tstring_content'> if Compony.content_before_root_comp_block &amp;&amp; standalone
1762
1729
  </span><span class='tstring_content'> Compony::RequestContext.new(component, controller, helpers: self, locals: render_locals).evaluate(&amp;Compony.content_before_root_comp_block)
1763
1730
  </span><span class='tstring_content'> end
1764
- </span><span class='tstring_content'> content_blocks.each do |block|
1731
+ </span><span class='tstring_content'> content_blocks.reject{ |el| el.hidden }.each do |element|
1765
1732
  </span><span class='tstring_content'> # Instanciate and evaluate a fresh RequestContext in order to use the buffer allocated by the ActionView (needed for `concat` calls)
1766
- </span><span class='tstring_content'> Compony::RequestContext.new(component, controller, helpers: self, locals: render_locals).evaluate(&amp;block)
1733
+ </span><span class='tstring_content'> Compony::RequestContext.new(component, controller, helpers: self, locals: render_locals).evaluate(&amp;element.payload)
1767
1734
  </span><span class='tstring_content'> end
1768
1735
  </span><span class='tstring_content'> if Compony.content_after_root_comp_block &amp;&amp; standalone
1769
1736
  </span><span class='tstring_content'> Compony::RequestContext.new(component, controller, helpers: self, locals: render_locals).evaluate(&amp;Compony.content_after_root_comp_block)
@@ -1805,25 +1772,25 @@
1805
1772
  <pre class="lines">
1806
1773
 
1807
1774
 
1808
- 210
1809
- 211
1810
- 212
1811
- 213
1812
- 214
1813
- 215
1814
- 216
1815
- 217
1816
- 218
1817
- 219
1818
- 220
1819
- 221
1820
- 222
1821
- 223
1822
- 224
1823
- 225</pre>
1775
+ 186
1776
+ 187
1777
+ 188
1778
+ 189
1779
+ 190
1780
+ 191
1781
+ 192
1782
+ 193
1783
+ 194
1784
+ 195
1785
+ 196
1786
+ 197
1787
+ 198
1788
+ 199
1789
+ 200
1790
+ 201</pre>
1824
1791
  </td>
1825
1792
  <td>
1826
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 210</span>
1793
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 186</span>
1827
1794
 
1828
1795
  <span class='kw'>def</span> <span class='id identifier rubyid_render_actions'>render_actions</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='comma'>,</span> <span class='label'>wrapper_class:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>action_class:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_end'>&#39;</span></span><span class='rparen'>)</span>
1829
1796
  <span class='id identifier rubyid_h'>h</span> <span class='op'>=</span> <span class='id identifier rubyid_controller'>controller</span><span class='period'>.</span><span class='id identifier rubyid_helpers'>helpers</span>
@@ -1831,7 +1798,7 @@
1831
1798
  <span class='id identifier rubyid_button_htmls'>button_htmls</span> <span class='op'>=</span> <span class='ivar'>@actions</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_action'>action</span><span class='op'>|</span>
1832
1799
  <span class='kw'>next</span> <span class='kw'>if</span> <span class='ivar'>@skipped_actions</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
1833
1800
  <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_with_button_defaults'><span class='object_link'><a href="../Compony.html#with_button_defaults-class_method" title="Compony.with_button_defaults (method)">with_button_defaults</a></span></span><span class='lparen'>(</span><span class='label'>feasibility_action:</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span> <span class='kw'>do</span>
1834
- <span class='id identifier rubyid_action_button'>action_button</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='rparen'>)</span>
1801
+ <span class='id identifier rubyid_action_button'>action_button</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_payload'>payload</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_controller'>controller</span><span class='rparen'>)</span>
1835
1802
  <span class='kw'>next</span> <span class='kw'>unless</span> <span class='id identifier rubyid_action_button'>action_button</span>
1836
1803
  <span class='id identifier rubyid_button_html'>button_html</span> <span class='op'>=</span> <span class='id identifier rubyid_action_button'>action_button</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>
1837
1804
  <span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_button_html'>button_html</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span>
@@ -1885,12 +1852,12 @@
1885
1852
  <pre class="lines">
1886
1853
 
1887
1854
 
1888
- 228
1889
- 229
1890
- 230</pre>
1855
+ 204
1856
+ 205
1857
+ 206</pre>
1891
1858
  </td>
1892
1859
  <td>
1893
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 228</span>
1860
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 204</span>
1894
1861
 
1895
1862
  <span class='kw'>def</span> <span class='id identifier rubyid_resourceful?'>resourceful?</span>
1896
1863
  <span class='kw'>return</span> <span class='kw'>false</span>
@@ -1926,13 +1893,13 @@
1926
1893
  <pre class="lines">
1927
1894
 
1928
1895
 
1929
- 48
1930
1896
  49
1931
1897
  50
1932
- 51</pre>
1898
+ 51
1899
+ 52</pre>
1933
1900
  </td>
1934
1901
  <td>
1935
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 48</span>
1902
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 49</span>
1936
1903
 
1937
1904
  <span class='kw'>def</span> <span class='id identifier rubyid_root_comp'>root_comp</span>
1938
1905
  <span class='kw'>return</span> <span class='kw'>self</span> <span class='kw'>unless</span> <span class='id identifier rubyid_parent_comp'>parent_comp</span>
@@ -1982,12 +1949,12 @@
1982
1949
  <pre class="lines">
1983
1950
 
1984
1951
 
1985
- 55
1986
1952
  56
1987
- 57</pre>
1953
+ 57
1954
+ 58</pre>
1988
1955
  </td>
1989
1956
  <td>
1990
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 55</span>
1957
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 56</span>
1991
1958
 
1992
1959
  <span class='kw'>def</span> <span class='id identifier rubyid_root_comp?'>root_comp?</span>
1993
1960
  <span class='id identifier rubyid_parent_comp'>parent_comp</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
@@ -2023,12 +1990,12 @@
2023
1990
  <pre class="lines">
2024
1991
 
2025
1992
 
2026
- 205
2027
- 206
2028
- 207</pre>
1993
+ 181
1994
+ 182
1995
+ 183</pre>
2029
1996
  </td>
2030
1997
  <td>
2031
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 205</span>
1998
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 181</span>
2032
1999
 
2033
2000
  <span class='kw'>def</span> <span class='id identifier rubyid_skip_action'>skip_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action_name'>action_name</span><span class='rparen'>)</span>
2034
2001
  <span class='ivar'>@skipped_actions</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_action_name'>action_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
@@ -2064,14 +2031,14 @@
2064
2031
  <pre class="lines">
2065
2032
 
2066
2033
 
2067
- 88
2068
2034
  89
2069
2035
  90
2070
2036
  91
2071
- 92</pre>
2037
+ 92
2038
+ 93</pre>
2072
2039
  </td>
2073
2040
  <td>
2074
- <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 88</span>
2041
+ <pre class="code"><span class="info file"># File 'lib/compony/component.rb', line 89</span>
2075
2042
 
2076
2043
  <span class='kw'>def</span> <span class='id identifier rubyid_sub_comp'>sub_comp</span><span class='lparen'>(</span><span class='id identifier rubyid_component_class'>component_class</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_comp_opts'>comp_opts</span><span class='rparen'>)</span>
2077
2044
  <span class='id identifier rubyid_sub'>sub</span> <span class='op'>=</span> <span class='id identifier rubyid_component_class'>component_class</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='label'>index:</span> <span class='ivar'>@sub_comps</span><span class='period'>.</span><span class='id identifier rubyid_count'>count</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_comp_opts'>comp_opts</span><span class='rparen'>)</span>
@@ -2088,7 +2055,7 @@
2088
2055
  </div>
2089
2056
 
2090
2057
  <div id="footer">
2091
- Generated on Sat Apr 27 10:22:12 2024 by
2058
+ Generated on Wed May 29 15:53:00 2024 by
2092
2059
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2093
2060
  0.9.34 (ruby-3.2.2).
2094
2061
  </div>