compony 0.10.0 → 0.10.2

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 (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -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 +1 -1
  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 +1 -1
  22. data/doc/Compony/Components/Edit.html +1 -1
  23. data/doc/Compony/Components/Form.html +1 -1
  24. data/doc/Compony/Components/Index.html +1 -1
  25. data/doc/Compony/Components/List.html +1 -1
  26. data/doc/Compony/Components/New.html +1 -1
  27. data/doc/Compony/Components/Show.html +1 -1
  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 +77 -63
  33. data/doc/Compony/ManageIntentsDsl.html +413 -0
  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/index.html +1 -1
  67. data/doc/top-level-namespace.html +1 -1
  68. data/lib/compony/intent.rb +8 -1
  69. data/lib/compony/manage_intents_dsl.rb +6 -4
  70. metadata +2 -1
@@ -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
- 127
945
- 128
946
- 129
947
- 130
948
- 131
949
- 132
950
- 133
951
956
  134
952
- 135</pre>
957
+ 135
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 127</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
- 116
1039
- 117
1040
- 118</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 116</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,12 +1086,12 @@
1074
1086
  <pre class="lines">
1075
1087
 
1076
1088
 
1077
- 112
1078
- 113
1079
- 114</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 112</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
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='id identifier rubyid_model?'>model?</span> <span class='op'>?</span> <span class='ivar'>@data</span> <span class='op'>:</span> <span class='kw'>nil</span>
@@ -1128,13 +1140,13 @@
1128
1140
  <pre class="lines">
1129
1141
 
1130
1142
 
1131
- 121
1132
- 122
1133
- 123
1134
- 124</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 121</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
- 103
1175
- 104
1176
- 105
1177
- 106</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 103</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
- 108
1216
- 109
1217
- 110</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 108</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
- 98
1313
- 99
1314
- 100</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 98</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,16 +1402,18 @@
1390
1402
  <pre class="lines">
1391
1403
 
1392
1404
 
1393
- 90
1394
- 91
1395
- 92
1396
- 93
1397
- 94</pre>
1405
+ 96
1406
+ 97
1407
+ 98
1408
+ 99
1409
+ 100
1410
+ 101</pre>
1398
1411
  </td>
1399
1412
  <td>
1400
- <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>
1401
1414
 
1402
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>
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>
1403
1417
  <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>
1404
1418
  <span class='id identifier rubyid_path_opts'>path_opts</span> <span class='op'>=</span> <span class='ivar'>@path_opts</span><span class='period'>.</span><span class='id identifier rubyid_deep_merge'>deep_merge</span><span class='lparen'>(</span><span class='id identifier rubyid_path_opt_overrides'>path_opt_overrides</span><span class='rparen'>)</span>
1405
1419
  <span class='id identifier rubyid_comp'>comp</span><span class='period'>.</span><span class='id identifier rubyid_path'>path</span><span class='lparen'>(</span><span class='id identifier rubyid_model'>model</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_model?'>model?</span> <span class='op'>?</span> <span class='ivar'>@data</span> <span class='op'>:</span> <span class='kw'>nil</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='label'>standalone_name:</span> <span class='id identifier rubyid_standalone_name'>standalone_name</span> <span class='op'>||</span> <span class='ivar'>@standalone_name</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_path_opts'>path_opts</span><span class='rparen'>)</span>
@@ -1507,22 +1521,22 @@
1507
1521
  <pre class="lines">
1508
1522
 
1509
1523
 
1510
- 142
1511
- 143
1512
- 144
1513
- 145
1514
- 146
1515
- 147
1516
- 148
1517
1524
  149
1518
1525
  150
1519
1526
  151
1520
1527
  152
1521
1528
  153
1522
- 154</pre>
1529
+ 154
1530
+ 155
1531
+ 156
1532
+ 157
1533
+ 158
1534
+ 159
1535
+ 160
1536
+ 161</pre>
1523
1537
  </td>
1524
1538
  <td>
1525
- <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 142</span>
1539
+ <pre class="code"><span class="info file"># File 'lib/compony/intent.rb', line 149</span>
1526
1540
 
1527
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>
1528
1542
  <span class='comment'># Abort if not authorized
@@ -1547,7 +1561,7 @@
1547
1561
  </div>
1548
1562
 
1549
1563
  <div id="footer">
1550
- Generated on Mon Dec 8 15:19:20 2025 by
1564
+ Generated on Mon Dec 8 18:10:34 2025 by
1551
1565
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1552
1566
  0.9.34 (ruby-3.3.5).
1553
1567
  </div>