compony 0.10.1 → 0.11.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.
Files changed (75) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/Gemfile.lock +1 -1
  4. data/VERSION +1 -1
  5. data/compony.gemspec +3 -3
  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 +1 -1
  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 +25 -94
  17. data/doc/Compony/ComponentMixins.html +1 -1
  18. data/doc/Compony/Components/Buttons/CssButton.html +1 -1
  19. data/doc/Compony/Components/Buttons/Link.html +1 -1
  20. data/doc/Compony/Components/Buttons.html +1 -1
  21. data/doc/Compony/Components/Destroy.html +2 -2
  22. data/doc/Compony/Components/Edit.html +2 -2
  23. data/doc/Compony/Components/Form.html +1 -1
  24. data/doc/Compony/Components/Index.html +2 -2
  25. data/doc/Compony/Components/List.html +2 -2
  26. data/doc/Compony/Components/New.html +2 -2
  27. data/doc/Compony/Components/Show.html +47 -22
  28. data/doc/Compony/Components/WithForm.html +1 -1
  29. data/doc/Compony/Components.html +1 -1
  30. data/doc/Compony/ControllerMixin.html +1 -1
  31. data/doc/Compony/Engine.html +1 -1
  32. data/doc/Compony/Intent.html +75 -63
  33. data/doc/Compony/ManageIntentsDsl.html +16 -12
  34. data/doc/Compony/MethodAccessibleHash.html +1 -1
  35. data/doc/Compony/ModelFields/Anchormodel.html +1 -1
  36. data/doc/Compony/ModelFields/Association.html +1 -1
  37. data/doc/Compony/ModelFields/Attachment.html +1 -1
  38. data/doc/Compony/ModelFields/Base.html +1 -1
  39. data/doc/Compony/ModelFields/Boolean.html +1 -1
  40. data/doc/Compony/ModelFields/Color.html +1 -1
  41. data/doc/Compony/ModelFields/Currency.html +1 -1
  42. data/doc/Compony/ModelFields/Date.html +1 -1
  43. data/doc/Compony/ModelFields/Datetime.html +1 -1
  44. data/doc/Compony/ModelFields/Decimal.html +1 -1
  45. data/doc/Compony/ModelFields/Email.html +1 -1
  46. data/doc/Compony/ModelFields/Float.html +1 -1
  47. data/doc/Compony/ModelFields/Integer.html +1 -1
  48. data/doc/Compony/ModelFields/Percentage.html +1 -1
  49. data/doc/Compony/ModelFields/Phone.html +1 -1
  50. data/doc/Compony/ModelFields/RichText.html +1 -1
  51. data/doc/Compony/ModelFields/String.html +1 -1
  52. data/doc/Compony/ModelFields/Text.html +1 -1
  53. data/doc/Compony/ModelFields/Time.html +1 -1
  54. data/doc/Compony/ModelFields/Url.html +1 -1
  55. data/doc/Compony/ModelFields.html +1 -1
  56. data/doc/Compony/ModelMixin.html +1 -1
  57. data/doc/Compony/NaturalOrdering.html +1 -1
  58. data/doc/Compony/RequestContext.html +1 -1
  59. data/doc/Compony/Version.html +1 -1
  60. data/doc/Compony/ViewHelpers.html +1 -1
  61. data/doc/Compony/VirtualModel.html +1 -1
  62. data/doc/Compony.html +1 -1
  63. data/doc/ComponyController.html +1 -1
  64. data/doc/_index.html +1 -1
  65. data/doc/file.README.html +1 -1
  66. data/doc/guide/resourceful.md +1 -11
  67. data/doc/index.html +1 -1
  68. data/doc/method_list.html +66 -74
  69. data/doc/top-level-namespace.html +1 -1
  70. data/lib/compony/component_mixins/resourceful.rb +0 -7
  71. data/lib/compony/components/index.rb +1 -1
  72. data/lib/compony/components/show.rb +3 -1
  73. data/lib/compony/intent.rb +8 -2
  74. data/lib/compony/manage_intents_dsl.rb +6 -4
  75. metadata +2 -2
@@ -118,6 +118,31 @@
118
118
 
119
119
 
120
120
  </div>
121
+
122
+ <h2>
123
+ Constant Summary
124
+ <small><a href="#" class="constants_summary_toggle">collapse</a></small>
125
+ </h2>
126
+
127
+ <dl class="constants">
128
+
129
+ <dt id="INT_OR_UUID_REGEX-constant" class="">INT_OR_UUID_REGEX =
130
+ <div class="docstring">
131
+ <div class="discussion">
132
+
133
+
134
+ </div>
135
+ </div>
136
+ <div class="tags">
137
+
138
+
139
+ </div>
140
+ </dt>
141
+ <dd><pre class="code"><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(?:\d+|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})</span><span class='regexp_end'>/</span></span></pre></dd>
142
+
143
+ </dl>
144
+
145
+
121
146
 
122
147
 
123
148
 
@@ -277,7 +302,7 @@
277
302
 
278
303
 
279
304
  <h3 class="inherited">Methods included from <span class='object_link'><a href="../ComponentMixins/Resourceful.html" title="Compony::ComponentMixins::Resourceful (module)">Compony::ComponentMixins::Resourceful</a></span></h3>
280
- <p class="inherited"><span class='object_link'><a href="../ComponentMixins/Resourceful.html#after_assign_attributes-instance_method" title="Compony::ComponentMixins::Resourceful#after_assign_attributes (method)">#after_assign_attributes</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#after_load_data-instance_method" title="Compony::ComponentMixins::Resourceful#after_load_data (method)">#after_load_data</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#assign_attributes-instance_method" title="Compony::ComponentMixins::Resourceful#assign_attributes (method)">#assign_attributes</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#data_class-instance_method" title="Compony::ComponentMixins::Resourceful#data_class (method)">#data_class</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#load_data-instance_method" title="Compony::ComponentMixins::Resourceful#load_data (method)">#load_data</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#resourceful%3F-instance_method" title="Compony::ComponentMixins::Resourceful#resourceful? (method)">#resourceful?</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#resourceful_sub_comp-instance_method" title="Compony::ComponentMixins::Resourceful#resourceful_sub_comp (method)">#resourceful_sub_comp</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#store_data-instance_method" title="Compony::ComponentMixins::Resourceful#store_data (method)">#store_data</a></span></p>
305
+ <p class="inherited"><span class='object_link'><a href="../ComponentMixins/Resourceful.html#after_assign_attributes-instance_method" title="Compony::ComponentMixins::Resourceful#after_assign_attributes (method)">#after_assign_attributes</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#after_load_data-instance_method" title="Compony::ComponentMixins::Resourceful#after_load_data (method)">#after_load_data</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#assign_attributes-instance_method" title="Compony::ComponentMixins::Resourceful#assign_attributes (method)">#assign_attributes</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#data_class-instance_method" title="Compony::ComponentMixins::Resourceful#data_class (method)">#data_class</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#load_data-instance_method" title="Compony::ComponentMixins::Resourceful#load_data (method)">#load_data</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#resourceful%3F-instance_method" title="Compony::ComponentMixins::Resourceful#resourceful? (method)">#resourceful?</a></span>, <span class='object_link'><a href="../ComponentMixins/Resourceful.html#store_data-instance_method" title="Compony::ComponentMixins::Resourceful#store_data (method)">#store_data</a></span></p>
281
306
 
282
307
 
283
308
 
@@ -341,14 +366,14 @@
341
366
  <pre class="lines">
342
367
 
343
368
 
344
- 56
345
- 57
346
369
  58
347
370
  59
348
- 60</pre>
371
+ 60
372
+ 61
373
+ 62</pre>
349
374
  </td>
350
375
  <td>
351
- <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 56</span>
376
+ <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 58</span>
352
377
 
353
378
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='op'>*</span><span class='comma'>,</span> <span class='label'>skip_columns:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
354
379
  <span class='ivar'>@columns</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>
@@ -413,12 +438,12 @@
413
438
  <pre class="lines">
414
439
 
415
440
 
416
- 104
417
- 105
418
- 106</pre>
441
+ 106
442
+ 107
443
+ 108</pre>
419
444
  </td>
420
445
  <td>
421
- <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 104</span>
446
+ <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 106</span>
422
447
 
423
448
  <span class='kw'>def</span> <span class='id identifier rubyid_all_field_columns'>all_field_columns</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span>
424
449
  <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_fields'>fields</span><span class='period'>.</span><span class='id identifier rubyid_each_key'>each_key</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_field_name'>field_name</span><span class='op'>|</span> <span class='id identifier rubyid_column'>column</span><span class='lparen'>(</span><span class='id identifier rubyid_field_name'>field_name</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
@@ -562,8 +587,6 @@
562
587
  <pre class="lines">
563
588
 
564
589
 
565
- 69
566
- 70
567
590
  71
568
591
  72
569
592
  73
@@ -577,10 +600,12 @@
577
600
  81
578
601
  82
579
602
  83
580
- 84</pre>
603
+ 84
604
+ 85
605
+ 86</pre>
581
606
  </td>
582
607
  <td>
583
- <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 69</span>
608
+ <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 71</span>
584
609
 
585
610
  <span class='kw'>def</span> <span class='id identifier rubyid_column'>column</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>label:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>class:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>link_opts:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>link_to_component:</span> <span class='symbol'>:show</span><span class='comma'>,</span> <span class='op'>**</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
586
611
  <span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
@@ -649,12 +674,12 @@
649
674
  <pre class="lines">
650
675
 
651
676
 
652
- 89
653
- 90
654
- 91</pre>
677
+ 91
678
+ 92
679
+ 93</pre>
655
680
  </td>
656
681
  <td>
657
- <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 89</span>
682
+ <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 91</span>
658
683
 
659
684
  <span class='kw'>def</span> <span class='id identifier rubyid_columns'>columns</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_col_names'>col_names</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
660
685
  <span class='id identifier rubyid_col_names'>col_names</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_col_name'>col_name</span><span class='op'>|</span> <span class='id identifier rubyid_column'>column</span><span class='lparen'>(</span><span class='id identifier rubyid_col_name'>col_name</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
@@ -710,12 +735,12 @@
710
735
  <pre class="lines">
711
736
 
712
737
 
713
- 97
714
- 98
715
- 99</pre>
738
+ 99
739
+ 100
740
+ 101</pre>
716
741
  </td>
717
742
  <td>
718
- <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 97</span>
743
+ <pre class="code"><span class="info file"># File 'lib/compony/components/show.rb', line 99</span>
719
744
 
720
745
  <span class='kw'>def</span> <span class='id identifier rubyid_skip_column'>skip_column</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
721
746
  <span class='ivar'>@skipped_columns</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
@@ -730,7 +755,7 @@
730
755
  </div>
731
756
 
732
757
  <div id="footer">
733
- Generated on Mon Dec 8 17:21:04 2025 by
758
+ Generated on Fri Dec 12 16:04:22 2025 by
734
759
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
735
760
  0.9.34 (ruby-3.3.5).
736
761
  </div>
@@ -591,7 +591,7 @@
591
591
  </div>
592
592
 
593
593
  <div id="footer">
594
- Generated on Mon Dec 8 17:21:04 2025 by
594
+ Generated on Fri Dec 12 16:04:23 2025 by
595
595
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
596
596
  0.9.34 (ruby-3.3.5).
597
597
  </div>
@@ -118,7 +118,7 @@
118
118
  </div>
119
119
 
120
120
  <div id="footer">
121
- Generated on Mon Dec 8 17:21:03 2025 by
121
+ Generated on Fri Dec 12 16:04:22 2025 by
122
122
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
123
123
  0.9.34 (ruby-3.3.5).
124
124
  </div>
@@ -126,7 +126,7 @@
126
126
  </div>
127
127
 
128
128
  <div id="footer">
129
- Generated on Mon Dec 8 17:21:03 2025 by
129
+ Generated on Fri Dec 12 16:04:22 2025 by
130
130
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
131
131
  0.9.34 (ruby-3.3.5).
132
132
  </div>
@@ -123,7 +123,7 @@
123
123
  </div>
124
124
 
125
125
  <div id="footer">
126
- Generated on Mon Dec 8 17:21:03 2025 by
126
+ Generated on Fri Dec 12 16:04:22 2025 by
127
127
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
128
128
  0.9.34 (ruby-3.3.5).
129
129
  </div>
@@ -765,7 +765,13 @@
765
765
  68
766
766
  69
767
767
  70
768
- 71</pre>
768
+ 71
769
+ 72
770
+ 73
771
+ 74
772
+ 75
773
+ 76
774
+ 77</pre>
769
775
  </td>
770
776
  <td>
771
777
  <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 26</span>
@@ -798,7 +804,13 @@
798
804
  </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>
799
805
  <span class='kw'>else</span>
800
806
  <span class='comment'># Build the constant from the first two arguments
801
- </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>
807
+ </span> <span class='id identifier rubyid_family_underscore_str'>family_underscore_str</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='op'>!</span><span class='lparen'>(</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_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_model_or_family_name_or_cst'>model_or_family_name_or_cst</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Symbol</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</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>
808
+ <span class='comment'># Determine the component family from the data
809
+ </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>
810
+ <span class='kw'>else</span>
811
+ <span class='comment'># Determine the component family from the given argument
812
+ </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>
813
+ <span class='kw'>end</span>
802
814
  <span class='id identifier rubyid_constant_str'>constant_str</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</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'>&quot;</span></span>
803
815
  <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>
804
816
  <span class='kw'>end</span>
@@ -941,18 +953,18 @@
941
953
  <pre class="lines">
942
954
 
943
955
 
944
- 128
945
- 129
946
- 130
947
- 131
948
- 132
949
- 133
950
956
  134
951
957
  135
952
- 136</pre>
958
+ 136
959
+ 137
960
+ 138
961
+ 139
962
+ 140
963
+ 141
964
+ 142</pre>
953
965
  </td>
954
966
  <td>
955
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 128</span>
967
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 134</span>
956
968
 
957
969
  <span class='kw'>def</span> <span class='id identifier rubyid_button_comp_opts'>button_comp_opts</span>
958
970
  <span class='kw'>return</span> <span class='lbrace'>{</span>
@@ -994,13 +1006,13 @@
994
1006
  <pre class="lines">
995
1007
 
996
1008
 
997
- 81
998
- 82
999
- 83
1000
- 84</pre>
1009
+ 87
1010
+ 88
1011
+ 89
1012
+ 90</pre>
1001
1013
  </td>
1002
1014
  <td>
1003
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 81</span>
1015
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 87</span>
1004
1016
 
1005
1017
  <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>
1006
1018
  <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='ivar'>@comp_class</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
@@ -1035,12 +1047,12 @@
1035
1047
  <pre class="lines">
1036
1048
 
1037
1049
 
1038
- 117
1039
- 118
1040
- 119</pre>
1050
+ 123
1051
+ 124
1052
+ 125</pre>
1041
1053
  </td>
1042
1054
  <td>
1043
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 117</span>
1055
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 123</span>
1044
1056
 
1045
1057
  <span class='kw'>def</span> <span class='id identifier rubyid_feasibility_action'>feasibility_action</span>
1046
1058
  <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>
@@ -1074,15 +1086,15 @@
1074
1086
  <pre class="lines">
1075
1087
 
1076
1088
 
1077
- 113
1078
- 114
1079
- 115</pre>
1089
+ 119
1090
+ 120
1091
+ 121</pre>
1080
1092
  </td>
1081
1093
  <td>
1082
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 113</span>
1094
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 119</span>
1083
1095
 
1084
1096
  <span class='kw'>def</span> <span class='id identifier rubyid_feasibility_target'>feasibility_target</span>
1085
- <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>
1097
+ <span class='ivar'>@feasibility_target</span><span class='period'>.</span><span class='id identifier rubyid_presence'>presence</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>
1086
1098
  <span class='kw'>end</span></pre>
1087
1099
  </td>
1088
1100
  </tr>
@@ -1128,13 +1140,13 @@
1128
1140
  <pre class="lines">
1129
1141
 
1130
1142
 
1131
- 122
1132
- 123
1133
- 124
1134
- 125</pre>
1143
+ 128
1144
+ 129
1145
+ 130
1146
+ 131</pre>
1135
1147
  </td>
1136
1148
  <td>
1137
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 122</span>
1149
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 128</span>
1138
1150
 
1139
1151
  <span class='kw'>def</span> <span class='id identifier rubyid_feasible?'>feasible?</span>
1140
1152
  <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>
@@ -1171,13 +1183,13 @@
1171
1183
  <pre class="lines">
1172
1184
 
1173
1185
 
1174
- 104
1175
- 105
1176
- 106
1177
- 107</pre>
1186
+ 110
1187
+ 111
1188
+ 112
1189
+ 113</pre>
1178
1190
  </td>
1179
1191
  <td>
1180
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 104</span>
1192
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 110</span>
1181
1193
 
1182
1194
  <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>
1183
1195
  <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>
@@ -1212,12 +1224,12 @@
1212
1224
  <pre class="lines">
1213
1225
 
1214
1226
 
1215
- 109
1216
- 110
1217
- 111</pre>
1227
+ 115
1228
+ 116
1229
+ 117</pre>
1218
1230
  </td>
1219
1231
  <td>
1220
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 109</span>
1232
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 115</span>
1221
1233
 
1222
1234
  <span class='kw'>def</span> <span class='id identifier rubyid_method'>method</span>
1223
1235
  <span class='ivar'>@method</span> <span class='op'>||</span> <span class='symbol'>:get</span>
@@ -1266,13 +1278,13 @@
1266
1278
  <pre class="lines">
1267
1279
 
1268
1280
 
1269
- 74
1270
- 75
1271
- 76
1272
- 77</pre>
1281
+ 80
1282
+ 81
1283
+ 82
1284
+ 83</pre>
1273
1285
  </td>
1274
1286
  <td>
1275
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 74</span>
1287
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 80</span>
1276
1288
 
1277
1289
  <span class='kw'>def</span> <span class='id identifier rubyid_model?'>model?</span>
1278
1290
  <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'>&amp;&amp;</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>
@@ -1309,12 +1321,12 @@
1309
1321
  <pre class="lines">
1310
1322
 
1311
1323
 
1312
- 99
1313
- 100
1314
- 101</pre>
1324
+ 105
1325
+ 106
1326
+ 107</pre>
1315
1327
  </td>
1316
1328
  <td>
1317
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 99</span>
1329
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 105</span>
1318
1330
 
1319
1331
  <span class='kw'>def</span> <span class='id identifier rubyid_name'>name</span>
1320
1332
  <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_presence'>presence</span> <span class='op'>||</span> <span class='symbol'>:&quot;#{</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'>&quot;</span></span>
@@ -1390,15 +1402,15 @@
1390
1402
  <pre class="lines">
1391
1403
 
1392
1404
 
1393
- 90
1394
- 91
1395
- 92
1396
- 93
1397
- 94
1398
- 95</pre>
1405
+ 96
1406
+ 97
1407
+ 98
1408
+ 99
1409
+ 100
1410
+ 101</pre>
1399
1411
  </td>
1400
1412
  <td>
1401
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 90</span>
1413
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 96</span>
1402
1414
 
1403
1415
  <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>
1404
1416
  <span class='kw'>return</span> <span class='ivar'>@path</span> <span class='kw'>if</span> <span class='ivar'>@path</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
@@ -1509,22 +1521,22 @@
1509
1521
  <pre class="lines">
1510
1522
 
1511
1523
 
1512
- 143
1513
- 144
1514
- 145
1515
- 146
1516
- 147
1517
- 148
1518
1524
  149
1519
1525
  150
1520
1526
  151
1521
1527
  152
1522
1528
  153
1523
1529
  154
1524
- 155</pre>
1530
+ 155
1531
+ 156
1532
+ 157
1533
+ 158
1534
+ 159
1535
+ 160
1536
+ 161</pre>
1525
1537
  </td>
1526
1538
  <td>
1527
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 143</span>
1539
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 149</span>
1528
1540
 
1529
1541
  <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='op'>**</span><span class='id identifier rubyid_button_arg_overrides'>button_arg_overrides</span><span class='rparen'>)</span>
1530
1542
  <span class='comment'># Abort if not authorized
@@ -1549,7 +1561,7 @@
1549
1561
  </div>
1550
1562
 
1551
1563
  <div id="footer">
1552
- Generated on Mon Dec 8 17:21:04 2025 by
1564
+ Generated on Fri Dec 12 16:04:22 2025 by
1553
1565
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1554
1566
  0.9.34 (ruby-3.3.5).
1555
1567
  </div>
@@ -128,7 +128,7 @@
128
128
  <li class="protected ">
129
129
  <span class="summary_signature">
130
130
 
131
- <a href="#add-instance_method" title="#add (instance method)">#<strong>add</strong>(before: nil) &#x21d2; Object </a>
131
+ <a href="#add-instance_method" title="#add (instance method)">#<strong>add</strong>(*args, before: nil, **kwargs) &#x21d2; Object </a>
132
132
 
133
133
 
134
134
 
@@ -261,7 +261,7 @@
261
261
  <div class="method_details first">
262
262
  <h3 class="signature first" id="add-instance_method">
263
263
 
264
- #<strong>add</strong>(before: nil) &#x21d2; <tt>Object</tt> <span class="extras">(protected)</span>
264
+ #<strong>add</strong>(*args, before: nil, **kwargs) &#x21d2; <tt>Object</tt> <span class="extras">(protected)</span>
265
265
 
266
266
 
267
267
 
@@ -311,16 +311,20 @@
311
311
  17
312
312
  18
313
313
  19
314
- 20</pre>
314
+ 20
315
+ 21
316
+ 22</pre>
315
317
  </td>
316
318
  <td>
317
319
  <pre class="code"><span class="info file"># File 'lib/compony/manage_intents_dsl.rb', line 15</span>
318
320
 
319
- <span class='kw'>def</span> <span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='op'>*</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='rparen'>)</span>
320
- <span class='id identifier rubyid_intent'>intent</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_intent'><span class='object_link'><a href="../Compony.html#intent-class_method" title="Compony.intent (method)">intent</a></span></span><span class='lparen'>(</span><span class='op'>*</span><span class='comma'>,</span> <span class='op'>**</span><span class='ivar'>@intent_opts</span><span class='comma'>,</span> <span class='op'>**</span><span class='rparen'>)</span>
321
+ <span class='kw'>def</span> <span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</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='rparen'>)</span>
322
+ <span class='id identifier rubyid_intent'>intent</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_intent'><span class='object_link'><a href="../Compony.html#intent-class_method" title="Compony.intent (method)">intent</a></span></span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='op'>**</span><span class='ivar'>@intent_opts</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_kwargs'>kwargs</span><span class='rparen'>)</span>
321
323
  <span class='ivar'>@exposed_intents</span><span class='period'>.</span><span class='id identifier rubyid_natural_push'>natural_push</span><span class='lparen'>(</span><span class='id identifier rubyid_intent'>intent</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_intent'>intent</span><span class='comma'>,</span> <span class='label'>before:</span><span class='rparen'>)</span>
322
- <span class='kw'>rescue</span> <span class='const'>NameError</span> <span class='comment'># Ignore if the component is not actually defined
323
- </span> <span class='kw'>return</span> <span class='kw'>nil</span>
324
+ <span class='kw'>rescue</span> <span class='const'>NameError</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_e'>e</span> <span class='comment'># Ignore if the component is not actually defined
325
+ </span> <span class='const'>Rails</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span> <span class='kw'>do</span>
326
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Skipping intent for arguments </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_args'>args</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>, </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_kwargs'>kwargs</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='embexpr_end'>}</span><span class='tstring_content'>: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</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>
327
+ <span class='kw'>end</span>
324
328
  <span class='kw'>end</span></pre>
325
329
  </td>
326
330
  </tr>
@@ -373,15 +377,15 @@
373
377
  <pre class="lines">
374
378
 
375
379
 
376
- 25
377
- 26
378
380
  27
379
381
  28
380
382
  29
381
- 30</pre>
383
+ 30
384
+ 31
385
+ 32</pre>
382
386
  </td>
383
387
  <td>
384
- <pre class="code"><span class="info file"># File 'lib/compony/manage_intents_dsl.rb', line 25</span>
388
+ <pre class="code"><span class="info file"># File 'lib/compony/manage_intents_dsl.rb', line 27</span>
385
389
 
386
390
  <span class='kw'>def</span> <span class='id identifier rubyid_remove'>remove</span><span class='lparen'>(</span><span class='id identifier rubyid_intent_name'>intent_name</span><span class='rparen'>)</span>
387
391
  <span class='id identifier rubyid_existing_index'>existing_index</span> <span class='op'>=</span> <span class='ivar'>@exposed_intents</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_intent_name'>intent_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span> <span class='rbrace'>}</span>
@@ -399,7 +403,7 @@
399
403
  </div>
400
404
 
401
405
  <div id="footer">
402
- Generated on Mon Dec 8 17:21:04 2025 by
406
+ Generated on Fri Dec 12 16:04:23 2025 by
403
407
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
404
408
  0.9.34 (ruby-3.3.5).
405
409
  </div>
@@ -443,7 +443,7 @@ instance_of_a_hash.roo --&gt; nil
443
443
  </div>
444
444
 
445
445
  <div id="footer">
446
- Generated on Mon Dec 8 17:21:04 2025 by
446
+ Generated on Fri Dec 12 16:04:23 2025 by
447
447
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
448
448
  0.9.34 (ruby-3.3.5).
449
449
  </div>
@@ -509,7 +509,7 @@
509
509
  </div>
510
510
 
511
511
  <div id="footer">
512
- Generated on Mon Dec 8 17:21:05 2025 by
512
+ Generated on Fri Dec 12 16:04:23 2025 by
513
513
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
514
514
  0.9.34 (ruby-3.3.5).
515
515
  </div>
@@ -603,7 +603,7 @@
603
603
  </div>
604
604
 
605
605
  <div id="footer">
606
- Generated on Mon Dec 8 17:21:05 2025 by
606
+ Generated on Fri Dec 12 16:04:23 2025 by
607
607
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
608
608
  0.9.34 (ruby-3.3.5).
609
609
  </div>
@@ -489,7 +489,7 @@
489
489
  </div>
490
490
 
491
491
  <div id="footer">
492
- Generated on Mon Dec 8 17:21:04 2025 by
492
+ Generated on Fri Dec 12 16:04:23 2025 by
493
493
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
494
494
  0.9.34 (ruby-3.3.5).
495
495
  </div>
@@ -1186,7 +1186,7 @@
1186
1186
  </div>
1187
1187
 
1188
1188
  <div id="footer">
1189
- Generated on Mon Dec 8 17:21:04 2025 by
1189
+ Generated on Fri Dec 12 16:04:23 2025 by
1190
1190
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1191
1191
  0.9.34 (ruby-3.3.5).
1192
1192
  </div>
@@ -354,7 +354,7 @@
354
354
  </div>
355
355
 
356
356
  <div id="footer">
357
- Generated on Mon Dec 8 17:21:04 2025 by
357
+ Generated on Fri Dec 12 16:04:23 2025 by
358
358
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
359
359
  0.9.34 (ruby-3.3.5).
360
360
  </div>