brut 0.11.0 → 0.12.1

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 (376) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/Gemfile.lock +8 -8
  4. data/brut-css/package-lock.json +94 -97
  5. data/brut-css/package.json +2 -2
  6. data/brut-js/package-lock.json +3 -3
  7. data/brut-js/package.json +6 -3
  8. data/brut-js/specs/AjaxSubmit.spec.js +62 -6
  9. data/brut-js/src/AjaxSubmit.js +26 -6
  10. data/brutrb.com/forms.md +1 -0
  11. data/brutrb.com/recipes/authentication.md +1 -0
  12. data/brutrb.com/tutorials/01-intro.md +26 -2
  13. data/docs/404.html +2 -2
  14. data/docs/adrs.html +3 -3
  15. data/docs/ai.html +3 -3
  16. data/docs/api/Brut/BackEnd/SeedData.html +1 -1
  17. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +1 -1
  18. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +1 -1
  19. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +1 -1
  20. data/docs/api/Brut/BackEnd/Sidekiq.html +1 -1
  21. data/docs/api/Brut/BackEnd/Validators/FormValidator.html +1 -1
  22. data/docs/api/Brut/BackEnd/Validators.html +1 -1
  23. data/docs/api/Brut/BackEnd.html +1 -1
  24. data/docs/api/Brut/CLI/App.html +1 -1
  25. data/docs/api/Brut/CLI/AppRunner.html +1 -1
  26. data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +1 -1
  27. data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +1 -1
  28. data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +1 -1
  29. data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +1 -1
  30. data/docs/api/Brut/CLI/Apps/BuildAssets.html +1 -1
  31. data/docs/api/Brut/CLI/Apps/DB/Create.html +1 -1
  32. data/docs/api/Brut/CLI/Apps/DB/Drop.html +1 -1
  33. data/docs/api/Brut/CLI/Apps/DB/Migrate.html +1 -1
  34. data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +1 -1
  35. data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +1 -1
  36. data/docs/api/Brut/CLI/Apps/DB/Seed.html +1 -1
  37. data/docs/api/Brut/CLI/Apps/DB/Status.html +1 -1
  38. data/docs/api/Brut/CLI/Apps/DB.html +1 -1
  39. data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +1 -1
  40. data/docs/api/Brut/CLI/Apps/DeployBase.html +1 -1
  41. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +1 -1
  42. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +1 -1
  43. data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +1 -1
  44. data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +1 -1
  45. data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +1 -1
  46. data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +1 -1
  47. data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +1 -1
  48. data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +1 -1
  49. data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +1 -1
  50. data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +1 -1
  51. data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +1 -1
  52. data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +1 -1
  53. data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +1 -1
  54. data/docs/api/Brut/CLI/Apps/Scaffold.html +1 -1
  55. data/docs/api/Brut/CLI/Apps/Test/Audit.html +1 -1
  56. data/docs/api/Brut/CLI/Apps/Test/E2e.html +1 -1
  57. data/docs/api/Brut/CLI/Apps/Test/JS.html +1 -1
  58. data/docs/api/Brut/CLI/Apps/Test/Run.html +1 -1
  59. data/docs/api/Brut/CLI/Apps/Test.html +1 -1
  60. data/docs/api/Brut/CLI/Apps.html +1 -1
  61. data/docs/api/Brut/CLI/Command.html +1 -1
  62. data/docs/api/Brut/CLI/Error.html +1 -1
  63. data/docs/api/Brut/CLI/ExecutionResults/Result.html +1 -1
  64. data/docs/api/Brut/CLI/ExecutionResults.html +1 -1
  65. data/docs/api/Brut/CLI/Executor.html +1 -1
  66. data/docs/api/Brut/CLI/InvalidOption.html +1 -1
  67. data/docs/api/Brut/CLI/Options.html +1 -1
  68. data/docs/api/Brut/CLI/Output.html +1 -1
  69. data/docs/api/Brut/CLI/SystemExecError.html +1 -1
  70. data/docs/api/Brut/CLI.html +1 -1
  71. data/docs/api/Brut/FactoryBot.html +1 -1
  72. data/docs/api/Brut/Framework/App.html +1 -1
  73. data/docs/api/Brut/Framework/Config.html +1 -1
  74. data/docs/api/Brut/Framework/Container.html +1 -1
  75. data/docs/api/Brut/Framework/Error.html +1 -1
  76. data/docs/api/Brut/Framework/Errors/AbstractMethod.html +1 -1
  77. data/docs/api/Brut/Framework/Errors/Bug.html +1 -1
  78. data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +1 -1
  79. data/docs/api/Brut/Framework/Errors/MissingParameter.html +1 -1
  80. data/docs/api/Brut/Framework/Errors/NoClassForPath.html +1 -1
  81. data/docs/api/Brut/Framework/Errors/NotFound.html +1 -1
  82. data/docs/api/Brut/Framework/Errors/NotImplemented.html +1 -1
  83. data/docs/api/Brut/Framework/Errors.html +1 -1
  84. data/docs/api/Brut/Framework/FussyTypeEnforcement.html +2 -2
  85. data/docs/api/Brut/Framework/MCP.html +1 -1
  86. data/docs/api/Brut/Framework/ProjectEnvironment.html +1 -1
  87. data/docs/api/Brut/Framework.html +1 -1
  88. data/docs/api/Brut/FrontEnd/AssetPathResolver.html +1 -1
  89. data/docs/api/Brut/FrontEnd/Component/Helpers.html +1 -1
  90. data/docs/api/Brut/FrontEnd/Component.html +1 -1
  91. data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +1 -1
  92. data/docs/api/Brut/FrontEnd/Components/FormTag.html +1 -1
  93. data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +1 -1
  94. data/docs/api/Brut/FrontEnd/Components/Input.html +2 -2
  95. data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +447 -0
  96. data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +1 -1
  97. data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +14 -9
  98. data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +1 -1
  99. data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +8 -9
  100. data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +10 -11
  101. data/docs/api/Brut/FrontEnd/Components/Inputs.html +2 -2
  102. data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +1 -1
  103. data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +1 -1
  104. data/docs/api/Brut/FrontEnd/Components/TimeTag.html +1 -1
  105. data/docs/api/Brut/FrontEnd/Components/Traceparent.html +1 -1
  106. data/docs/api/Brut/FrontEnd/Components.html +1 -1
  107. data/docs/api/Brut/FrontEnd/CsrfProtector.html +1 -1
  108. data/docs/api/Brut/FrontEnd/Download.html +1 -1
  109. data/docs/api/Brut/FrontEnd/Flash.html +1 -1
  110. data/docs/api/Brut/FrontEnd/Form.html +39 -39
  111. data/docs/api/Brut/FrontEnd/Forms/Button.html +331 -0
  112. data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +537 -0
  113. data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +1 -1
  114. data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +1 -1
  115. data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +1 -1
  116. data/docs/api/Brut/FrontEnd/Forms/Input.html +6 -2
  117. data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +111 -23
  118. data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +20 -12
  119. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +1 -1
  120. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +1 -1
  121. data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +1 -1
  122. data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +1 -1
  123. data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +1 -1
  124. data/docs/api/Brut/FrontEnd/Forms.html +2 -2
  125. data/docs/api/Brut/FrontEnd/GenericResponse.html +1 -1
  126. data/docs/api/Brut/FrontEnd/Handler.html +1 -1
  127. data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +1 -1
  128. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +1 -1
  129. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +1 -1
  130. data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +1 -1
  131. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +2 -2
  132. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +1 -1
  133. data/docs/api/Brut/FrontEnd/Handlers.html +1 -1
  134. data/docs/api/Brut/FrontEnd/HandlingResults.html +1 -1
  135. data/docs/api/Brut/FrontEnd/HttpMethod.html +1 -1
  136. data/docs/api/Brut/FrontEnd/HttpStatus.html +1 -1
  137. data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +1 -1
  138. data/docs/api/Brut/FrontEnd/Layout.html +1 -1
  139. data/docs/api/Brut/FrontEnd/Middleware.html +1 -1
  140. data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +1 -1
  141. data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +1 -1
  142. data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +1 -1
  143. data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +1 -1
  144. data/docs/api/Brut/FrontEnd/Middlewares.html +1 -1
  145. data/docs/api/Brut/FrontEnd/Page.html +1 -1
  146. data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +1 -1
  147. data/docs/api/Brut/FrontEnd/Pages.html +1 -1
  148. data/docs/api/Brut/FrontEnd/RequestContext.html +1 -1
  149. data/docs/api/Brut/FrontEnd/RouteHook.html +1 -1
  150. data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +1 -1
  151. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +1 -1
  152. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +1 -1
  153. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +1 -1
  154. data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +1 -1
  155. data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +1 -1
  156. data/docs/api/Brut/FrontEnd/RouteHooks.html +1 -1
  157. data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +1 -1
  158. data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +1 -1
  159. data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +1 -1
  160. data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +1 -1
  161. data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +1 -1
  162. data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +1 -1
  163. data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +1 -1
  164. data/docs/api/Brut/FrontEnd/Routing/Route.html +1 -1
  165. data/docs/api/Brut/FrontEnd/Routing.html +1 -1
  166. data/docs/api/Brut/FrontEnd/Session.html +1 -1
  167. data/docs/api/Brut/FrontEnd.html +1 -1
  168. data/docs/api/Brut/I18n/BaseMethods.html +1 -1
  169. data/docs/api/Brut/I18n/ForBackEnd.html +1 -1
  170. data/docs/api/Brut/I18n/ForCLI.html +1 -1
  171. data/docs/api/Brut/I18n/ForHTML.html +1 -1
  172. data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +1 -1
  173. data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +1 -1
  174. data/docs/api/Brut/I18n.html +1 -1
  175. data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +1 -1
  176. data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +596 -0
  177. data/docs/api/Brut/Instrumentation/Methods.html +173 -0
  178. data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +7 -7
  179. data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +7 -7
  180. data/docs/api/Brut/Instrumentation/OpenTelemetry.html +19 -17
  181. data/docs/api/Brut/Instrumentation.html +3 -1
  182. data/docs/api/Brut/RubocopConfig.html +1 -1
  183. data/docs/api/Brut/SinatraHelpers/ClassMethods.html +1 -1
  184. data/docs/api/Brut/SinatraHelpers.html +1 -1
  185. data/docs/api/Brut/SpecSupport/ClockSupport.html +1 -1
  186. data/docs/api/Brut/SpecSupport/ComponentSupport.html +1 -1
  187. data/docs/api/Brut/SpecSupport/E2ETestServer.html +1 -1
  188. data/docs/api/Brut/SpecSupport/E2eSupport.html +1 -1
  189. data/docs/api/Brut/SpecSupport/EnhancedNode.html +1 -1
  190. data/docs/api/Brut/SpecSupport/FlashSupport.html +1 -1
  191. data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +1 -1
  192. data/docs/api/Brut/SpecSupport/GeneralSupport.html +1 -1
  193. data/docs/api/Brut/SpecSupport/HandlerSupport.html +1 -1
  194. data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +1 -1
  195. data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +1 -1
  196. data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +1 -1
  197. data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +1 -1
  198. data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +1 -1
  199. data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +1 -1
  200. data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +1 -1
  201. data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +1 -1
  202. data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +1 -1
  203. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +1 -1
  204. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +1 -1
  205. data/docs/api/Brut/SpecSupport/Matchers.html +1 -1
  206. data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +1 -1
  207. data/docs/api/Brut/SpecSupport/RSpecSetup.html +1 -1
  208. data/docs/api/Brut/SpecSupport/SessionSupport.html +1 -1
  209. data/docs/api/Brut/SpecSupport.html +1 -1
  210. data/docs/api/Brut.html +1 -1
  211. data/docs/api/Clock.html +1 -1
  212. data/docs/api/ModuleName.html +1 -1
  213. data/docs/api/RichString.html +1 -1
  214. data/docs/api/SemanticLogger/Appender/Async.html +1 -1
  215. data/docs/api/Sequel/Extensions/BrutInstrumentation.html +1 -1
  216. data/docs/api/Sequel/Extensions/BrutMigrations.html +1 -1
  217. data/docs/api/Sequel/Extensions.html +1 -1
  218. data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +1 -1
  219. data/docs/api/Sequel/Plugins/CreatedAt.html +1 -1
  220. data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +1 -1
  221. data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +1 -1
  222. data/docs/api/Sequel/Plugins/ExternalId.html +1 -1
  223. data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +1 -1
  224. data/docs/api/Sequel/Plugins/FindBang.html +1 -1
  225. data/docs/api/Sequel/Plugins.html +1 -1
  226. data/docs/api/Sequel.html +1 -1
  227. data/docs/api/_index.html +36 -1
  228. data/docs/api/class_list.html +1 -1
  229. data/docs/api/file.README.html +1 -1
  230. data/docs/api/index.html +1 -1
  231. data/docs/api/method_list.html +364 -252
  232. data/docs/api/top-level-namespace.html +1 -1
  233. data/docs/assets/{app.0-aKXKdt.js → app.CGHFI-MA.js} +1 -1
  234. data/docs/assets/chunks/@localSearchIndexroot.DcMsFVrO.js +1 -0
  235. data/docs/assets/chunks/{VPLocalSearchBox.CW-UBkNA.js → VPLocalSearchBox.-c-Kihwo.js} +1 -1
  236. data/docs/assets/chunks/{theme.a6feKWJO.js → theme.DpqrgXG8.js} +2 -2
  237. data/docs/assets/{components.md.BzVRwegp.js → components.md.X4h_TEG-.js} +3 -3
  238. data/docs/assets/{configuration.md.eM5wFVi5.js → configuration.md.CPCyUo5A.js} +1 -1
  239. data/docs/assets/{forms.md.B3BHvCV3.js → forms.md.BwmfAZ6Z.js} +2 -2
  240. data/docs/assets/{getting-started.md.BgR0ZHsl.js → getting-started.md.mPgbkbBv.js} +2 -2
  241. data/docs/assets/instrumentation.md._lNSriEZ.js +90 -0
  242. data/docs/assets/instrumentation.md._lNSriEZ.lean.js +1 -0
  243. data/docs/assets/{recipes_authentication.md.Dzvi_g69.js → recipes_authentication.md.BAISoxmN.js} +1 -0
  244. data/docs/assets/{tutorials_01-intro.md.BXvYWcO9.js → tutorials_01-intro.md.B4sUBY3X.js} +10 -10
  245. data/docs/assets/{tutorials_01-intro.md.BXvYWcO9.lean.js → tutorials_01-intro.md.B4sUBY3X.lean.js} +1 -1
  246. data/docs/assets/{tutorials_02-dialog.md.CIeg8R--.js → tutorials_02-dialog.md.DOonTBrE.js} +1 -1
  247. data/docs/assets.html +3 -3
  248. data/docs/brut-js/api/AjaxSubmit.html +16 -6
  249. data/docs/brut-js/api/AjaxSubmit.js.html +27 -7
  250. data/docs/brut-js/api/Autosubmit.html +1 -1
  251. data/docs/brut-js/api/Autosubmit.js.html +1 -1
  252. data/docs/brut-js/api/BaseCustomElement.html +1 -1
  253. data/docs/brut-js/api/BaseCustomElement.js.html +1 -1
  254. data/docs/brut-js/api/BrutCustomElements.html +1 -1
  255. data/docs/brut-js/api/BufferedLogger.html +1 -1
  256. data/docs/brut-js/api/ConfirmSubmit.html +1 -1
  257. data/docs/brut-js/api/ConfirmSubmit.js.html +1 -1
  258. data/docs/brut-js/api/ConfirmationDialog.html +1 -1
  259. data/docs/brut-js/api/ConfirmationDialog.js.html +1 -1
  260. data/docs/brut-js/api/ConstraintViolationMessage.html +1 -1
  261. data/docs/brut-js/api/ConstraintViolationMessage.js.html +1 -1
  262. data/docs/brut-js/api/ConstraintViolationMessages.html +1 -1
  263. data/docs/brut-js/api/ConstraintViolationMessages.js.html +1 -1
  264. data/docs/brut-js/api/CopyToClipboard.html +1 -1
  265. data/docs/brut-js/api/CopyToClipboard.js.html +1 -1
  266. data/docs/brut-js/api/Form.html +1 -1
  267. data/docs/brut-js/api/Form.js.html +1 -1
  268. data/docs/brut-js/api/I18nTranslation.html +1 -1
  269. data/docs/brut-js/api/I18nTranslation.js.html +1 -1
  270. data/docs/brut-js/api/LocaleDetection.html +1 -1
  271. data/docs/brut-js/api/LocaleDetection.js.html +1 -1
  272. data/docs/brut-js/api/Logger.html +1 -1
  273. data/docs/brut-js/api/Logger.js.html +1 -1
  274. data/docs/brut-js/api/Message.html +1 -1
  275. data/docs/brut-js/api/Message.js.html +1 -1
  276. data/docs/brut-js/api/PrefixedLogger.html +1 -1
  277. data/docs/brut-js/api/RichString.html +1 -1
  278. data/docs/brut-js/api/RichString.js.html +1 -1
  279. data/docs/brut-js/api/Tabs.html +1 -1
  280. data/docs/brut-js/api/Tabs.js.html +1 -1
  281. data/docs/brut-js/api/Tracing.html +1 -1
  282. data/docs/brut-js/api/Tracing.js.html +1 -1
  283. data/docs/brut-js/api/external-CustomElementRegistry.html +1 -1
  284. data/docs/brut-js/api/external-Performance.html +1 -1
  285. data/docs/brut-js/api/external-Promise.html +1 -1
  286. data/docs/brut-js/api/external-ValidityState.html +1 -1
  287. data/docs/brut-js/api/external-Window.html +1 -1
  288. data/docs/brut-js/api/external-fetch.html +1 -1
  289. data/docs/brut-js/api/global.html +1 -1
  290. data/docs/brut-js/api/index.html +1 -1
  291. data/docs/brut-js/api/index.js.html +1 -1
  292. data/docs/brut-js/api/module-testing.html +1 -1
  293. data/docs/brut-js/api/testing.AssetMetadata.html +1 -1
  294. data/docs/brut-js/api/testing.AssetMetadataLoader.html +1 -1
  295. data/docs/brut-js/api/testing.CustomElementTest.html +1 -1
  296. data/docs/brut-js/api/testing.DOMCreator.html +1 -1
  297. data/docs/brut-js/api/testing_AssetMetadata.js.html +1 -1
  298. data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +1 -1
  299. data/docs/brut-js/api/testing_CustomElementTest.js.html +1 -1
  300. data/docs/brut-js/api/testing_DOMCreator.js.html +1 -1
  301. data/docs/brut-js/api/testing_index.js.html +1 -1
  302. data/docs/brut-js.html +3 -3
  303. data/docs/business-logic.html +3 -3
  304. data/docs/cli.html +3 -3
  305. data/docs/components.html +7 -7
  306. data/docs/configuration.html +5 -5
  307. data/docs/css.html +3 -3
  308. data/docs/custom-element-tests.html +3 -3
  309. data/docs/database-access.html +3 -3
  310. data/docs/database-schema.html +3 -3
  311. data/docs/deployment.html +3 -3
  312. data/docs/dev-environment.html +3 -3
  313. data/docs/dir-structure.html +3 -3
  314. data/docs/doc-conventions.html +3 -3
  315. data/docs/end-to-end-tests.html +3 -3
  316. data/docs/features.html +3 -3
  317. data/docs/flash-and-session.html +3 -3
  318. data/docs/form-constraints.html +3 -3
  319. data/docs/forms.html +6 -6
  320. data/docs/getting-started.html +6 -6
  321. data/docs/handlers.html +3 -3
  322. data/docs/hashmap.json +1 -1
  323. data/docs/hooks.html +3 -3
  324. data/docs/i18n.html +3 -3
  325. data/docs/index.html +3 -3
  326. data/docs/instrumentation.html +61 -6
  327. data/docs/javascript.html +3 -3
  328. data/docs/jobs.html +3 -3
  329. data/docs/keyword-injection.html +3 -3
  330. data/docs/layouts.html +3 -3
  331. data/docs/lsp.html +3 -3
  332. data/docs/markdown-examples.html +3 -3
  333. data/docs/middleware.html +3 -3
  334. data/docs/overview.html +3 -3
  335. data/docs/pages.html +3 -3
  336. data/docs/recipes/alternate-layouts.html +3 -3
  337. data/docs/recipes/authentication.html +5 -4
  338. data/docs/recipes/blank-layouts.html +3 -3
  339. data/docs/recipes/custom-flash.html +3 -3
  340. data/docs/recipes/form-errors.html +3 -3
  341. data/docs/recipes/indexed-forms.html +3 -3
  342. data/docs/recipes/migrations.html +3 -3
  343. data/docs/recipes/text-field-component.html +3 -3
  344. data/docs/roadmap.html +3 -3
  345. data/docs/routes.html +3 -3
  346. data/docs/security.html +3 -3
  347. data/docs/seed-data.html +3 -3
  348. data/docs/space-time-continuum.html +3 -3
  349. data/docs/tutorial.html +3 -3
  350. data/docs/tutorials/01-intro.html +12 -12
  351. data/docs/tutorials/02-dialog.html +5 -5
  352. data/docs/unit-tests.html +3 -3
  353. data/docs/why.html +3 -3
  354. data/lib/brut/front_end/components/input.rb +1 -0
  355. data/lib/brut/front_end/components/inputs/button_tag.rb +43 -0
  356. data/lib/brut/front_end/components/inputs/input_tag.rb +3 -1
  357. data/lib/brut/front_end/components/inputs/select_tag_with_options.rb +0 -1
  358. data/lib/brut/front_end/components/inputs/textarea_tag.rb +0 -1
  359. data/lib/brut/front_end/form.rb +7 -5
  360. data/lib/brut/front_end/forms/button.rb +21 -0
  361. data/lib/brut/front_end/forms/button_input_definition.rb +33 -0
  362. data/lib/brut/front_end/forms/input_declarations.rb +10 -0
  363. data/lib/brut/front_end/forms/input_definition.rb +7 -2
  364. data/lib/brut/version.rb +1 -1
  365. data/mkbrut/Gemfile.lock +1 -1
  366. data/mkbrut/lib/mkbrut/version.rb +1 -1
  367. metadata +29 -21
  368. data/docs/assets/chunks/@localSearchIndexroot.DPhqaz1b.js +0 -1
  369. data/docs/assets/instrumentation.md.BgcaGVYH.js +0 -35
  370. data/docs/assets/instrumentation.md.BgcaGVYH.lean.js +0 -1
  371. /data/docs/assets/{components.md.BzVRwegp.lean.js → components.md.X4h_TEG-.lean.js} +0 -0
  372. /data/docs/assets/{configuration.md.eM5wFVi5.lean.js → configuration.md.CPCyUo5A.lean.js} +0 -0
  373. /data/docs/assets/{forms.md.B3BHvCV3.lean.js → forms.md.BwmfAZ6Z.lean.js} +0 -0
  374. /data/docs/assets/{getting-started.md.BgR0ZHsl.lean.js → getting-started.md.mPgbkbBv.lean.js} +0 -0
  375. /data/docs/assets/{recipes_authentication.md.Dzvi_g69.lean.js → recipes_authentication.md.BAISoxmN.lean.js} +0 -0
  376. /data/docs/assets/{tutorials_02-dialog.md.CIeg8R--.lean.js → tutorials_02-dialog.md.DOonTBrE.lean.js} +0 -0
@@ -117,6 +117,29 @@ from within your form's class definition.</p>
117
117
  <li class="public ">
118
118
  <span class="summary_signature">
119
119
 
120
+ <a href="#button-instance_method" title="#button (instance method)">#<strong>button</strong>(name) &#x21d2; Object </a>
121
+
122
+
123
+
124
+ </span>
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+
134
+ <span class="summary_desc"><div class='inline'><p>Declares a named button for this form, which is required in order to have this button's name and value sent to the back.</p>
135
+ </div></span>
136
+
137
+ </li>
138
+
139
+
140
+ <li class="public ">
141
+ <span class="summary_signature">
142
+
120
143
  <a href="#input-instance_method" title="#input (instance method)">#<strong>input</strong>(name, attributes = {}) &#x21d2; Object </a>
121
144
 
122
145
 
@@ -216,7 +239,72 @@ from within your form's class definition.</p>
216
239
 
217
240
 
218
241
  <div class="method_details first">
219
- <h3 class="signature first" id="input-instance_method">
242
+ <h3 class="signature first" id="button-instance_method">
243
+
244
+ #<strong>button</strong>(name) &#x21d2; <tt>Object</tt>
245
+
246
+
247
+
248
+
249
+
250
+ </h3><div class="docstring">
251
+ <div class="discussion">
252
+ <p>Declares a named button for this form, which is required in order to have this button's name and
253
+ value sent to the back. This will generate a <code>&lt;button&gt;</code> tag. To use <code>&lt;input type="submit"&gt;</code>, <span class='object_link'><a href="#input-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#input (method)">#input</a></span> should
254
+ be used instead.</p>
255
+
256
+
257
+ </div>
258
+ </div>
259
+ <div class="tags">
260
+ <p class="tag_title">Parameters:</p>
261
+ <ul class="param">
262
+
263
+ <li>
264
+
265
+ <span class='name'>name</span>
266
+
267
+
268
+ <span class='type'>(<tt>String</tt>)</span>
269
+
270
+
271
+
272
+ &mdash;
273
+ <div class='inline'><p>The name of the button (used in the <code>name</code> attribute)</p>
274
+ </div>
275
+
276
+ </li>
277
+
278
+ </ul>
279
+
280
+
281
+ </div><table class="source_code">
282
+ <tr>
283
+ <td>
284
+ <pre class="lines">
285
+
286
+
287
+ 18
288
+ 19
289
+ 20
290
+ 21
291
+ 22</pre>
292
+ </td>
293
+ <td>
294
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_declarations.rb', line 18</span>
295
+
296
+ <span class='kw'>def</span> <span class='id identifier rubyid_button'>button</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
297
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_add_input_definition'>add_input_definition</span><span class='lparen'>(</span>
298
+ <span class='const'><span class='object_link'><a href="../../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../FrontEnd.html" title="Brut::FrontEnd (module)">FrontEnd</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Forms.html" title="Brut::FrontEnd::Forms (module)">Forms</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="ButtonInputDefinition.html" title="Brut::FrontEnd::Forms::ButtonInputDefinition (class)">ButtonInputDefinition</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="ButtonInputDefinition.html#initialize-instance_method" title="Brut::FrontEnd::Forms::ButtonInputDefinition#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>name:</span><span class='rparen'>)</span>
299
+ <span class='rparen'>)</span>
300
+ <span class='kw'>end</span></pre>
301
+ </td>
302
+ </tr>
303
+ </table>
304
+ </div>
305
+
306
+ <div class="method_details ">
307
+ <h3 class="signature " id="input-instance_method">
220
308
 
221
309
  #<strong>input</strong>(name, attributes = {}) &#x21d2; <tt>Object</tt>
222
310
 
@@ -340,17 +428,17 @@ few of its own.</p>
340
428
  <pre class="lines">
341
429
 
342
430
 
343
- 71
344
- 72
345
- 73
346
- 74
347
- 75
348
- 76
349
- 77
350
- 78</pre>
431
+ 81
432
+ 82
433
+ 83
434
+ 84
435
+ 85
436
+ 86
437
+ 87
438
+ 88</pre>
351
439
  </td>
352
440
  <td>
353
- <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_declarations.rb', line 71</span>
441
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_declarations.rb', line 81</span>
354
442
 
355
443
  <span class='kw'>def</span> <span class='id identifier rubyid_inputs_from'>inputs_from</span><span class='lparen'>(</span><span class='id identifier rubyid_other_class'>other_class</span><span class='rparen'>)</span>
356
444
  <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_other_class'>other_class</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:input_definitions</span><span class='rparen'>)</span>
@@ -431,14 +519,14 @@ input tags.</p>
431
519
  <pre class="lines">
432
520
 
433
521
 
434
- 35
435
- 36
436
- 37
437
- 38
438
- 39</pre>
522
+ 45
523
+ 46
524
+ 47
525
+ 48
526
+ 49</pre>
439
527
  </td>
440
528
  <td>
441
- <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_declarations.rb', line 35</span>
529
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_declarations.rb', line 45</span>
442
530
 
443
531
  <span class='kw'>def</span> <span class='id identifier rubyid_radio_button_group'>radio_button_group</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span><span class='id identifier rubyid_attributes'>attributes</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
444
532
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_add_input_definition'>add_input_definition</span><span class='lparen'>(</span>
@@ -513,14 +601,14 @@ Components::Inputs::Select</p>
513
601
  <pre class="lines">
514
602
 
515
603
 
516
- 20
517
- 21
518
- 22
519
- 23
520
- 24</pre>
604
+ 30
605
+ 31
606
+ 32
607
+ 33
608
+ 34</pre>
521
609
  </td>
522
610
  <td>
523
- <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_declarations.rb', line 20</span>
611
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_declarations.rb', line 30</span>
524
612
 
525
613
  <span class='kw'>def</span> <span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span><span class='id identifier rubyid_attributes'>attributes</span><span class='op'>=</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
526
614
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_add_input_definition'>add_input_definition</span><span class='lparen'>(</span>
@@ -537,7 +625,7 @@ Components::Inputs::Select</p>
537
625
  </div>
538
626
 
539
627
  <div id="footer">
540
- Generated on Fri Aug 15 22:12:00 2025 by
628
+ Generated on Fri Sep 5 20:59:14 2025 by
541
629
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
542
630
  0.9.37 (ruby-3.4.5).
543
631
  </div>
@@ -616,7 +616,7 @@ we can in Ruby so that client side validations can be safely used for user exper
616
616
 
617
617
 
618
618
  &mdash;
619
- <div class='inline'><p>true if this field is required, false otherwise. Default is <code>true</code> unless <code>type</code> is <code>"checkbox"</code>.</p>
619
+ <div class='inline'><p>true if this field is required, false otherwise. Default is <code>true</code> unless <code>type</code> is <code>"checkbox"</code> or <code>"submit"</code>.</p>
620
620
  </div>
621
621
 
622
622
  </li>
@@ -690,7 +690,6 @@ we can in Ruby so that client side validations can be safely used for user exper
690
690
  <pre class="lines">
691
691
 
692
692
 
693
- 60
694
693
  61
695
694
  62
696
695
  63
@@ -739,10 +738,15 @@ we can in Ruby so that client side validations can be safely used for user exper
739
738
  106
740
739
  107
741
740
  108
742
- 109</pre>
741
+ 109
742
+ 110
743
+ 111
744
+ 112
745
+ 113
746
+ 114</pre>
743
747
  </td>
744
748
  <td>
745
- <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_definition.rb', line 60</span>
749
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_definition.rb', line 61</span>
746
750
 
747
751
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span>
748
752
  <span class='label'>max:</span> <span class='kw'>nil</span><span class='comma'>,</span>
@@ -771,7 +775,11 @@ we can in Ruby so that client side validations can be safely used for user exper
771
775
 
772
776
  <span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
773
777
  <span class='kw'>if</span> <span class='id identifier rubyid_required'>required</span> <span class='op'>==</span> <span class='symbol'>:based_on_type</span>
774
- <span class='id identifier rubyid_required'>required</span> <span class='op'>=</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>checkbox</span><span class='tstring_end'>&quot;</span></span>
778
+ <span class='id identifier rubyid_required'>required</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_type'>type</span>
779
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>checkbox</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='kw'>false</span>
780
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>submit</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='kw'>false</span>
781
+ <span class='kw'>else</span> <span class='kw'>true</span>
782
+ <span class='kw'>end</span>
775
783
  <span class='kw'>end</span>
776
784
 
777
785
  <span class='ivar'>@max</span> <span class='op'>=</span> <span class='id identifier rubyid_max'>max</span>
@@ -1227,10 +1235,10 @@ we can in Ruby so that client side validations can be safely used for user exper
1227
1235
  <pre class="lines">
1228
1236
 
1229
1237
 
1230
- 111</pre>
1238
+ 116</pre>
1231
1239
  </td>
1232
1240
  <td>
1233
- <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_definition.rb', line 111</span>
1241
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_definition.rb', line 116</span>
1234
1242
 
1235
1243
  <span class='kw'>def</span> <span class='id identifier rubyid_array?'>array?</span> <span class='op'>=</span> <span class='ivar'>@array</span></pre>
1236
1244
  </td>
@@ -1298,12 +1306,12 @@ inputs. <code>nil</code> is allowed only if the input definition is not for an a
1298
1306
  <pre class="lines">
1299
1307
 
1300
1308
 
1301
- 118
1302
- 119
1303
- 120</pre>
1309
+ 123
1310
+ 124
1311
+ 125</pre>
1304
1312
  </td>
1305
1313
  <td>
1306
- <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_definition.rb', line 118</span>
1314
+ <pre class="code"><span class="info file"># File 'lib/brut/front_end/forms/input_definition.rb', line 123</span>
1307
1315
 
1308
1316
  <span class='kw'>def</span> <span class='id identifier rubyid_make_input'>make_input</span><span class='lparen'>(</span><span class='label'>value:</span><span class='comma'>,</span> <span class='label'>index:</span><span class='rparen'>)</span>
1309
1317
  <span class='const'><span class='object_link'><a href="../../../Brut.html" title="Brut (module)">Brut</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../../FrontEnd.html" title="Brut::FrontEnd (module)">FrontEnd</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Forms.html" title="Brut::FrontEnd::Forms (module)">Forms</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Input.html" title="Brut::FrontEnd::Forms::Input (class)">Input</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Input.html#initialize-instance_method" title="Brut::FrontEnd::Forms::Input#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='label'>input_definition:</span> <span class='kw'>self</span><span class='comma'>,</span> <span class='label'>value:</span><span class='comma'>,</span> <span class='label'>index:</span><span class='rparen'>)</span>
@@ -1318,7 +1326,7 @@ inputs. <code>nil</code> is allowed only if the input definition is not for an a
1318
1326
  </div>
1319
1327
 
1320
1328
  <div id="footer">
1321
- Generated on Fri Aug 15 22:12:02 2025 by
1329
+ Generated on Fri Sep 5 20:59:15 2025 by
1322
1330
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1323
1331
  0.9.37 (ruby-3.4.5).
1324
1332
  </div>
@@ -720,7 +720,7 @@ that <code>key</code> should not be a key used for client-side validations.</p>
720
720
  </div>
721
721
 
722
722
  <div id="footer">
723
- Generated on Fri Aug 15 22:12:02 2025 by
723
+ Generated on Fri Sep 5 20:59:15 2025 by
724
724
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
725
725
  0.9.37 (ruby-3.4.5).
726
726
  </div>
@@ -577,7 +577,7 @@ supported by the browser. Also note that arrays of radio button groups are not
577
577
  </div>
578
578
 
579
579
  <div id="footer">
580
- Generated on Fri Aug 15 22:12:02 2025 by
580
+ Generated on Fri Sep 5 20:59:15 2025 by
581
581
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
582
582
  0.9.37 (ruby-3.4.5).
583
583
  </div>
@@ -724,7 +724,7 @@ that <code>key</code> should not be a key used for client-side validations.</p>
724
724
  </div>
725
725
 
726
726
  <div id="footer">
727
- Generated on Fri Aug 15 22:12:01 2025 by
727
+ Generated on Fri Sep 5 20:59:15 2025 by
728
728
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
729
729
  0.9.37 (ruby-3.4.5).
730
730
  </div>
@@ -572,7 +572,7 @@ such as implementing a <span class='object_link'><a href="../../BackEnd/Validato
572
572
  </div>
573
573
 
574
574
  <div id="footer">
575
- Generated on Fri Aug 15 22:12:02 2025 by
575
+ Generated on Fri Sep 5 20:59:15 2025 by
576
576
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
577
577
  0.9.37 (ruby-3.4.5).
578
578
  </div>
@@ -649,7 +649,7 @@ on your use-case.</p>
649
649
  </div>
650
650
 
651
651
  <div id="footer">
652
- Generated on Fri Aug 15 22:12:01 2025 by
652
+ Generated on Fri Sep 5 20:59:15 2025 by
653
653
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
654
654
  0.9.37 (ruby-3.4.5).
655
655
  </div>
@@ -101,7 +101,7 @@
101
101
 
102
102
 
103
103
 
104
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="Forms/ConstraintViolation.html" title="Brut::FrontEnd::Forms::ConstraintViolation (class)">ConstraintViolation</a></span>, <span class='object_link'><a href="Forms/Input.html" title="Brut::FrontEnd::Forms::Input (class)">Input</a></span>, <span class='object_link'><a href="Forms/InputDefinition.html" title="Brut::FrontEnd::Forms::InputDefinition (class)">InputDefinition</a></span>, <span class='object_link'><a href="Forms/RadioButtonGroupInput.html" title="Brut::FrontEnd::Forms::RadioButtonGroupInput (class)">RadioButtonGroupInput</a></span>, <span class='object_link'><a href="Forms/RadioButtonGroupInputDefinition.html" title="Brut::FrontEnd::Forms::RadioButtonGroupInputDefinition (class)">RadioButtonGroupInputDefinition</a></span>, <span class='object_link'><a href="Forms/SelectInput.html" title="Brut::FrontEnd::Forms::SelectInput (class)">SelectInput</a></span>, <span class='object_link'><a href="Forms/SelectInputDefinition.html" title="Brut::FrontEnd::Forms::SelectInputDefinition (class)">SelectInputDefinition</a></span>, <span class='object_link'><a href="Forms/ValidityState.html" title="Brut::FrontEnd::Forms::ValidityState (class)">ValidityState</a></span>
104
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Forms/Button.html" title="Brut::FrontEnd::Forms::Button (class)">Button</a></span>, <span class='object_link'><a href="Forms/ButtonInputDefinition.html" title="Brut::FrontEnd::Forms::ButtonInputDefinition (class)">ButtonInputDefinition</a></span>, <span class='object_link'><a href="Forms/ConstraintViolation.html" title="Brut::FrontEnd::Forms::ConstraintViolation (class)">ConstraintViolation</a></span>, <span class='object_link'><a href="Forms/Input.html" title="Brut::FrontEnd::Forms::Input (class)">Input</a></span>, <span class='object_link'><a href="Forms/InputDefinition.html" title="Brut::FrontEnd::Forms::InputDefinition (class)">InputDefinition</a></span>, <span class='object_link'><a href="Forms/RadioButtonGroupInput.html" title="Brut::FrontEnd::Forms::RadioButtonGroupInput (class)">RadioButtonGroupInput</a></span>, <span class='object_link'><a href="Forms/RadioButtonGroupInputDefinition.html" title="Brut::FrontEnd::Forms::RadioButtonGroupInputDefinition (class)">RadioButtonGroupInputDefinition</a></span>, <span class='object_link'><a href="Forms/SelectInput.html" title="Brut::FrontEnd::Forms::SelectInput (class)">SelectInput</a></span>, <span class='object_link'><a href="Forms/SelectInputDefinition.html" title="Brut::FrontEnd::Forms::SelectInputDefinition (class)">SelectInputDefinition</a></span>, <span class='object_link'><a href="Forms/ValidityState.html" title="Brut::FrontEnd::Forms::ValidityState (class)">ValidityState</a></span>
105
105
 
106
106
 
107
107
  </p>
@@ -117,7 +117,7 @@
117
117
  </div>
118
118
 
119
119
  <div id="footer">
120
- Generated on Fri Aug 15 22:12:00 2025 by
120
+ Generated on Fri Sep 5 20:59:14 2025 by
121
121
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
122
122
  0.9.37 (ruby-3.4.5).
123
123
  </div>
@@ -367,7 +367,7 @@ something that responds to <code>each</code>.</p>
367
367
  </div>
368
368
 
369
369
  <div id="footer">
370
- Generated on Fri Aug 15 22:12:01 2025 by
370
+ Generated on Fri Sep 5 20:59:15 2025 by
371
371
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
372
372
  0.9.37 (ruby-3.4.5).
373
373
  </div>
@@ -432,7 +432,7 @@ returns is returned here.</p>
432
432
  </div>
433
433
 
434
434
  <div id="footer">
435
- Generated on Fri Aug 15 22:12:01 2025 by
435
+ Generated on Fri Sep 5 20:59:14 2025 by
436
436
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
437
437
  0.9.37 (ruby-3.4.5).
438
438
  </div>
@@ -308,7 +308,7 @@ configured in <span class='object_link'><a href="../RouteHooks/CSPNoInlineStyles
308
308
  </div>
309
309
 
310
310
  <div id="footer">
311
- Generated on Fri Aug 15 22:12:02 2025 by
311
+ Generated on Fri Sep 5 20:59:15 2025 by
312
312
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
313
313
  0.9.37 (ruby-3.4.5).
314
314
  </div>
@@ -326,7 +326,7 @@
326
326
  </div>
327
327
 
328
328
  <div id="footer">
329
- Generated on Fri Aug 15 22:12:02 2025 by
329
+ Generated on Fri Sep 5 20:59:15 2025 by
330
330
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
331
331
  0.9.37 (ruby-3.4.5).
332
332
  </div>
@@ -389,7 +389,7 @@
389
389
  </div>
390
390
 
391
391
  <div id="footer">
392
- Generated on Fri Aug 15 22:12:02 2025 by
392
+ Generated on Fri Sep 5 20:59:15 2025 by
393
393
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
394
394
  0.9.37 (ruby-3.4.5).
395
395
  </div>
@@ -344,7 +344,7 @@ the app.</p>
344
344
  </div>
345
345
 
346
346
  <div id="footer">
347
- Generated on Fri Aug 15 22:12:02 2025 by
347
+ Generated on Fri Sep 5 20:59:15 2025 by
348
348
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
349
349
  0.9.37 (ruby-3.4.5).
350
350
  </div>
@@ -129,7 +129,7 @@
129
129
 
130
130
 
131
131
  <h3 class="inherited">Methods included from <span class='object_link'><a href="../../Forms/InputDeclarations.html" title="Brut::FrontEnd::Forms::InputDeclarations (module)">Forms::InputDeclarations</a></span></h3>
132
- <p class="inherited"><span class='object_link'><a href="../../Forms/InputDeclarations.html#input-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#input (method)">#input</a></span>, <span class='object_link'><a href="../../Forms/InputDeclarations.html#inputs_from-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#inputs_from (method)">#inputs_from</a></span>, <span class='object_link'><a href="../../Forms/InputDeclarations.html#radio_button_group-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#radio_button_group (method)">#radio_button_group</a></span>, <span class='object_link'><a href="../../Forms/InputDeclarations.html#select-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#select (method)">#select</a></span></p>
132
+ <p class="inherited"><span class='object_link'><a href="../../Forms/InputDeclarations.html#button-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#button (method)">#button</a></span>, <span class='object_link'><a href="../../Forms/InputDeclarations.html#input-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#input (method)">#input</a></span>, <span class='object_link'><a href="../../Forms/InputDeclarations.html#inputs_from-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#inputs_from (method)">#inputs_from</a></span>, <span class='object_link'><a href="../../Forms/InputDeclarations.html#radio_button_group-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#radio_button_group (method)">#radio_button_group</a></span>, <span class='object_link'><a href="../../Forms/InputDeclarations.html#select-instance_method" title="Brut::FrontEnd::Forms::InputDeclarations#select (method)">#select</a></span></p>
133
133
  <div id="constructor_details" class="method_details_list">
134
134
  <h2>Constructor Details</h2>
135
135
 
@@ -141,7 +141,7 @@
141
141
  </div>
142
142
 
143
143
  <div id="footer">
144
- Generated on Fri Aug 15 22:12:02 2025 by
144
+ Generated on Fri Sep 5 20:59:15 2025 by
145
145
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
146
146
  0.9.37 (ruby-3.4.5).
147
147
  </div>
@@ -305,7 +305,7 @@
305
305
  </div>
306
306
 
307
307
  <div id="footer">
308
- Generated on Fri Aug 15 22:12:02 2025 by
308
+ Generated on Fri Sep 5 20:59:15 2025 by
309
309
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
310
310
  0.9.37 (ruby-3.4.5).
311
311
  </div>
@@ -115,7 +115,7 @@
115
115
  </div>
116
116
 
117
117
  <div id="footer">
118
- Generated on Fri Aug 15 22:12:00 2025 by
118
+ Generated on Fri Sep 5 20:59:14 2025 by
119
119
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
120
120
  0.9.37 (ruby-3.4.5).
121
121
  </div>
@@ -329,7 +329,7 @@ redirect to a non-GET.</p>
329
329
  </div>
330
330
 
331
331
  <div id="footer">
332
- Generated on Fri Aug 15 22:12:00 2025 by
332
+ Generated on Fri Sep 5 20:59:14 2025 by
333
333
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
334
334
  0.9.37 (ruby-3.4.5).
335
335
  </div>
@@ -651,7 +651,7 @@
651
651
  </div>
652
652
 
653
653
  <div id="footer">
654
- Generated on Fri Aug 15 22:12:01 2025 by
654
+ Generated on Fri Sep 5 20:59:15 2025 by
655
655
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
656
656
  0.9.37 (ruby-3.4.5).
657
657
  </div>
@@ -486,7 +486,7 @@ considered a valid HTTP status code</p>
486
486
  </div>
487
487
 
488
488
  <div id="footer">
489
- Generated on Fri Aug 15 22:12:01 2025 by
489
+ Generated on Fri Sep 5 20:59:15 2025 by
490
490
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
491
491
  0.9.37 (ruby-3.4.5).
492
492
  </div>
@@ -274,7 +274,7 @@
274
274
  </div>
275
275
 
276
276
  <div id="footer">
277
- Generated on Fri Aug 15 22:12:01 2025 by
277
+ Generated on Fri Sep 5 20:59:15 2025 by
278
278
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
279
279
  0.9.37 (ruby-3.4.5).
280
280
  </div>
@@ -308,7 +308,7 @@ inserted into the filename.</p>
308
308
  </div>
309
309
 
310
310
  <div id="footer">
311
- Generated on Fri Aug 15 22:12:01 2025 by
311
+ Generated on Fri Sep 5 20:59:14 2025 by
312
312
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
313
313
  0.9.37 (ruby-3.4.5).
314
314
  </div>
@@ -125,7 +125,7 @@
125
125
  </div>
126
126
 
127
127
  <div id="footer">
128
- Generated on Fri Aug 15 22:12:01 2025 by
128
+ Generated on Fri Sep 5 20:59:15 2025 by
129
129
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
130
  0.9.37 (ruby-3.4.5).
131
131
  </div>
@@ -278,7 +278,7 @@ represents one that Brut is managing.</p>
278
278
  </div>
279
279
 
280
280
  <div id="footer">
281
- Generated on Fri Aug 15 22:12:02 2025 by
281
+ Generated on Fri Sep 5 20:59:15 2025 by
282
282
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
283
283
  0.9.37 (ruby-3.4.5).
284
284
  </div>
@@ -282,7 +282,7 @@
282
282
  </div>
283
283
 
284
284
  <div id="footer">
285
- Generated on Fri Aug 15 22:12:01 2025 by
285
+ Generated on Fri Sep 5 20:59:15 2025 by
286
286
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
287
287
  0.9.37 (ruby-3.4.5).
288
288
  </div>
@@ -314,7 +314,7 @@
314
314
  </div>
315
315
 
316
316
  <div id="footer">
317
- Generated on Fri Aug 15 22:12:02 2025 by
317
+ Generated on Fri Sep 5 20:59:15 2025 by
318
318
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
319
319
  0.9.37 (ruby-3.4.5).
320
320
  </div>
@@ -366,7 +366,7 @@
366
366
  </div>
367
367
 
368
368
  <div id="footer">
369
- Generated on Fri Aug 15 22:12:02 2025 by
369
+ Generated on Fri Sep 5 20:59:15 2025 by
370
370
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
371
371
  0.9.37 (ruby-3.4.5).
372
372
  </div>
@@ -115,7 +115,7 @@
115
115
  </div>
116
116
 
117
117
  <div id="footer">
118
- Generated on Fri Aug 15 22:12:00 2025 by
118
+ Generated on Fri Sep 5 20:59:14 2025 by
119
119
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
120
120
  0.9.37 (ruby-3.4.5).
121
121
  </div>
@@ -771,7 +771,7 @@ inside.</p>
771
771
  </div>
772
772
 
773
773
  <div id="footer">
774
- Generated on Fri Aug 15 22:12:01 2025 by
774
+ Generated on Fri Sep 5 20:59:14 2025 by
775
775
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
776
776
  0.9.37 (ruby-3.4.5).
777
777
  </div>
@@ -787,7 +787,7 @@ next steps to take.</p>
787
787
  </div>
788
788
 
789
789
  <div id="footer">
790
- Generated on Fri Aug 15 22:12:01 2025 by
790
+ Generated on Fri Sep 5 20:59:15 2025 by
791
791
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
792
792
  0.9.37 (ruby-3.4.5).
793
793
  </div>
@@ -115,7 +115,7 @@
115
115
  </div>
116
116
 
117
117
  <div id="footer">
118
- Generated on Fri Aug 15 22:12:00 2025 by
118
+ Generated on Fri Sep 5 20:59:14 2025 by
119
119
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
120
120
  0.9.37 (ruby-3.4.5).
121
121
  </div>
@@ -1302,7 +1302,7 @@ not present in this <code>RequestContext</code>.</p>
1302
1302
  </div>
1303
1303
 
1304
1304
  <div id="footer">
1305
- Generated on Fri Aug 15 22:12:01 2025 by
1305
+ Generated on Fri Sep 5 20:59:15 2025 by
1306
1306
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1307
1307
  0.9.37 (ruby-3.4.5).
1308
1308
  </div>
@@ -414,7 +414,7 @@ determine what information is avaiable.</p>
414
414
  </div>
415
415
 
416
416
  <div id="footer">
417
- Generated on Fri Aug 15 22:12:01 2025 by
417
+ Generated on Fri Sep 5 20:59:15 2025 by
418
418
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
419
419
  0.9.37 (ruby-3.4.5).
420
420
  </div>