brut 0.16.0.pre → 0.16.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 (369) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -3
  3. data/Gemfile.lock +41 -34
  4. data/brut-css/package-lock.json +2 -2
  5. data/brut-css/package.json +1 -1
  6. data/brut-js/package-lock.json +311 -2
  7. data/brut-js/package.json +2 -1
  8. data/brutrb.com/jobs.md +1 -1
  9. data/docs/404.html +2 -2
  10. data/docs/adrs.html +4 -4
  11. data/docs/ai.html +4 -4
  12. data/docs/api/Brut/BackEnd/SeedData.html +2 -2
  13. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server/FlushSpans.html +2 -2
  14. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares/Server.html +2 -2
  15. data/docs/api/Brut/BackEnd/Sidekiq/Middlewares.html +2 -2
  16. data/docs/api/Brut/BackEnd/Sidekiq.html +2 -2
  17. data/docs/api/Brut/BackEnd/Validators/FormValidator.html +2 -2
  18. data/docs/api/Brut/BackEnd/Validators.html +2 -2
  19. data/docs/api/Brut/BackEnd.html +2 -2
  20. data/docs/api/Brut/CLI/App.html +2 -2
  21. data/docs/api/Brut/CLI/AppRunner.html +2 -2
  22. data/docs/api/Brut/CLI/Apps/BuildAssets/All.html +2 -2
  23. data/docs/api/Brut/CLI/Apps/BuildAssets/CSS.html +2 -2
  24. data/docs/api/Brut/CLI/Apps/BuildAssets/Images.html +2 -2
  25. data/docs/api/Brut/CLI/Apps/BuildAssets/JS.html +2 -2
  26. data/docs/api/Brut/CLI/Apps/BuildAssets.html +2 -2
  27. data/docs/api/Brut/CLI/Apps/DB/Create.html +2 -2
  28. data/docs/api/Brut/CLI/Apps/DB/Drop.html +2 -2
  29. data/docs/api/Brut/CLI/Apps/DB/Migrate.html +2 -2
  30. data/docs/api/Brut/CLI/Apps/DB/NewMigration.html +2 -2
  31. data/docs/api/Brut/CLI/Apps/DB/Rebuild.html +2 -2
  32. data/docs/api/Brut/CLI/Apps/DB/Seed.html +2 -2
  33. data/docs/api/Brut/CLI/Apps/DB/Status.html +2 -2
  34. data/docs/api/Brut/CLI/Apps/DB.html +2 -2
  35. data/docs/api/Brut/CLI/Apps/DeployBase/GitChecks.html +2 -2
  36. data/docs/api/Brut/CLI/Apps/DeployBase.html +2 -2
  37. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy/Deploy.html +7 -5
  38. data/docs/api/Brut/CLI/Apps/HerokuContainerBasedDeploy.html +2 -2
  39. data/docs/api/Brut/CLI/Apps/Scaffold/Action/Route.html +2 -2
  40. data/docs/api/Brut/CLI/Apps/Scaffold/Action.html +2 -2
  41. data/docs/api/Brut/CLI/Apps/Scaffold/Component.html +2 -2
  42. data/docs/api/Brut/CLI/Apps/Scaffold/CustomElementTest.html +2 -2
  43. data/docs/api/Brut/CLI/Apps/Scaffold/DbModel.html +2 -2
  44. data/docs/api/Brut/CLI/Apps/Scaffold/E2ETest.html +2 -2
  45. data/docs/api/Brut/CLI/Apps/Scaffold/Form.html +2 -2
  46. data/docs/api/Brut/CLI/Apps/Scaffold/Page/Route.html +2 -2
  47. data/docs/api/Brut/CLI/Apps/Scaffold/Page.html +2 -2
  48. data/docs/api/Brut/CLI/Apps/Scaffold/RoutesEditor.html +2 -2
  49. data/docs/api/Brut/CLI/Apps/Scaffold/Test.html +2 -2
  50. data/docs/api/Brut/CLI/Apps/Scaffold.html +2 -2
  51. data/docs/api/Brut/CLI/Apps/Test/Audit.html +7 -3
  52. data/docs/api/Brut/CLI/Apps/Test/E2e.html +2 -2
  53. data/docs/api/Brut/CLI/Apps/Test/JS.html +2 -2
  54. data/docs/api/Brut/CLI/Apps/Test/Run.html +2 -2
  55. data/docs/api/Brut/CLI/Apps/Test.html +2 -2
  56. data/docs/api/Brut/CLI/Apps.html +2 -2
  57. data/docs/api/Brut/CLI/Command.html +2 -2
  58. data/docs/api/Brut/CLI/Error.html +2 -2
  59. data/docs/api/Brut/CLI/ExecutionResults/Result.html +2 -2
  60. data/docs/api/Brut/CLI/ExecutionResults.html +2 -2
  61. data/docs/api/Brut/CLI/Executor.html +2 -2
  62. data/docs/api/Brut/CLI/InvalidOption.html +2 -2
  63. data/docs/api/Brut/CLI/Options.html +2 -2
  64. data/docs/api/Brut/CLI/Output.html +2 -2
  65. data/docs/api/Brut/CLI/SystemExecError.html +2 -2
  66. data/docs/api/Brut/CLI.html +2 -2
  67. data/docs/api/Brut/FactoryBot.html +2 -2
  68. data/docs/api/Brut/Framework/App.html +2 -2
  69. data/docs/api/Brut/Framework/Config.html +2 -2
  70. data/docs/api/Brut/Framework/Container.html +11 -7
  71. data/docs/api/Brut/Framework/Error.html +2 -2
  72. data/docs/api/Brut/Framework/Errors/AbstractMethod.html +2 -2
  73. data/docs/api/Brut/Framework/Errors/Bug.html +2 -2
  74. data/docs/api/Brut/Framework/Errors/MissingConfiguration.html +2 -2
  75. data/docs/api/Brut/Framework/Errors/MissingParameter.html +2 -2
  76. data/docs/api/Brut/Framework/Errors/NoClassForPath.html +2 -2
  77. data/docs/api/Brut/Framework/Errors/NotFound.html +2 -2
  78. data/docs/api/Brut/Framework/Errors/NotImplemented.html +2 -2
  79. data/docs/api/Brut/Framework/Errors.html +2 -2
  80. data/docs/api/Brut/Framework/FussyTypeEnforcement.html +2 -2
  81. data/docs/api/Brut/Framework/MCP.html +3 -3
  82. data/docs/api/Brut/Framework/ProjectEnvironment.html +2 -2
  83. data/docs/api/Brut/Framework.html +2 -2
  84. data/docs/api/Brut/FrontEnd/AssetPathResolver.html +2 -2
  85. data/docs/api/Brut/FrontEnd/Component/Helpers.html +2 -2
  86. data/docs/api/Brut/FrontEnd/Component.html +2 -2
  87. data/docs/api/Brut/FrontEnd/Components/ConstraintViolations.html +2 -2
  88. data/docs/api/Brut/FrontEnd/Components/FormTag.html +2 -2
  89. data/docs/api/Brut/FrontEnd/Components/I18nTranslations.html +2 -2
  90. data/docs/api/Brut/FrontEnd/Components/Input.html +2 -2
  91. data/docs/api/Brut/FrontEnd/Components/Inputs/ButtonTag.html +2 -2
  92. data/docs/api/Brut/FrontEnd/Components/Inputs/CsrfToken.html +2 -2
  93. data/docs/api/Brut/FrontEnd/Components/Inputs/InputTag.html +2 -2
  94. data/docs/api/Brut/FrontEnd/Components/Inputs/RadioButton.html +2 -2
  95. data/docs/api/Brut/FrontEnd/Components/Inputs/SelectTagWithOptions.html +2 -2
  96. data/docs/api/Brut/FrontEnd/Components/Inputs/TextareaTag.html +2 -2
  97. data/docs/api/Brut/FrontEnd/Components/Inputs.html +2 -2
  98. data/docs/api/Brut/FrontEnd/Components/LocaleDetection.html +2 -2
  99. data/docs/api/Brut/FrontEnd/Components/PageIdentifier.html +2 -2
  100. data/docs/api/Brut/FrontEnd/Components/TimeTag.html +2 -2
  101. data/docs/api/Brut/FrontEnd/Components/Traceparent.html +2 -2
  102. data/docs/api/Brut/FrontEnd/Components.html +2 -2
  103. data/docs/api/Brut/FrontEnd/CsrfProtector.html +2 -2
  104. data/docs/api/Brut/FrontEnd/Download.html +2 -2
  105. data/docs/api/Brut/FrontEnd/Flash.html +2 -2
  106. data/docs/api/Brut/FrontEnd/Form.html +2 -2
  107. data/docs/api/Brut/FrontEnd/Forms/Button.html +2 -2
  108. data/docs/api/Brut/FrontEnd/Forms/ButtonInputDefinition.html +2 -2
  109. data/docs/api/Brut/FrontEnd/Forms/ConstraintViolation.html +2 -2
  110. data/docs/api/Brut/FrontEnd/Forms/Input/Color.html +2 -2
  111. data/docs/api/Brut/FrontEnd/Forms/Input/TimeOfDay.html +2 -2
  112. data/docs/api/Brut/FrontEnd/Forms/Input.html +2 -2
  113. data/docs/api/Brut/FrontEnd/Forms/InputDeclarations.html +2 -2
  114. data/docs/api/Brut/FrontEnd/Forms/InputDefinition.html +2 -2
  115. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInput.html +2 -2
  116. data/docs/api/Brut/FrontEnd/Forms/RadioButtonGroupInputDefinition.html +2 -2
  117. data/docs/api/Brut/FrontEnd/Forms/SelectInput.html +2 -2
  118. data/docs/api/Brut/FrontEnd/Forms/SelectInputDefinition.html +2 -2
  119. data/docs/api/Brut/FrontEnd/Forms/ValidityState.html +2 -2
  120. data/docs/api/Brut/FrontEnd/Forms.html +2 -2
  121. data/docs/api/Brut/FrontEnd/GenericResponse.html +2 -2
  122. data/docs/api/Brut/FrontEnd/Handler.html +2 -2
  123. data/docs/api/Brut/FrontEnd/Handlers/CspReportingHandler.html +2 -2
  124. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler/TraceParent.html +2 -2
  125. data/docs/api/Brut/FrontEnd/Handlers/InstrumentationHandler.html +2 -2
  126. data/docs/api/Brut/FrontEnd/Handlers/LocaleDetectionHandler.html +2 -2
  127. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler/Form.html +2 -2
  128. data/docs/api/Brut/FrontEnd/Handlers/MissingHandler.html +2 -2
  129. data/docs/api/Brut/FrontEnd/Handlers.html +2 -2
  130. data/docs/api/Brut/FrontEnd/HandlingResults.html +2 -2
  131. data/docs/api/Brut/FrontEnd/HttpMethod.html +2 -2
  132. data/docs/api/Brut/FrontEnd/HttpStatus.html +2 -2
  133. data/docs/api/Brut/FrontEnd/InlineSvgLocator.html +2 -2
  134. data/docs/api/Brut/FrontEnd/Layout.html +2 -2
  135. data/docs/api/Brut/FrontEnd/Middleware.html +2 -2
  136. data/docs/api/Brut/FrontEnd/Middlewares/AnnotateBrutOwnedPaths.html +2 -2
  137. data/docs/api/Brut/FrontEnd/Middlewares/Favicon.html +2 -2
  138. data/docs/api/Brut/FrontEnd/Middlewares/OpenTelemetrySpan.html +2 -2
  139. data/docs/api/Brut/FrontEnd/Middlewares/ReloadApp.html +2 -2
  140. data/docs/api/Brut/FrontEnd/Middlewares.html +2 -2
  141. data/docs/api/Brut/FrontEnd/Page.html +2 -2
  142. data/docs/api/Brut/FrontEnd/Pages/MissingPage.html +2 -2
  143. data/docs/api/Brut/FrontEnd/Pages.html +2 -2
  144. data/docs/api/Brut/FrontEnd/RequestContext.html +2 -2
  145. data/docs/api/Brut/FrontEnd/RouteHook.html +2 -2
  146. data/docs/api/Brut/FrontEnd/RouteHooks/AgeFlash.html +2 -2
  147. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineScripts.html +2 -2
  148. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts/ReportOnly.html +2 -2
  149. data/docs/api/Brut/FrontEnd/RouteHooks/CSPNoInlineStylesOrScripts.html +2 -2
  150. data/docs/api/Brut/FrontEnd/RouteHooks/LocaleDetection.html +2 -2
  151. data/docs/api/Brut/FrontEnd/RouteHooks/SetupRequestContext.html +2 -2
  152. data/docs/api/Brut/FrontEnd/RouteHooks.html +2 -2
  153. data/docs/api/Brut/FrontEnd/Routing/FormHandlerRoute.html +2 -2
  154. data/docs/api/Brut/FrontEnd/Routing/FormRoute.html +2 -2
  155. data/docs/api/Brut/FrontEnd/Routing/MissingForm.html +2 -2
  156. data/docs/api/Brut/FrontEnd/Routing/MissingHandler.html +2 -2
  157. data/docs/api/Brut/FrontEnd/Routing/MissingPage.html +2 -2
  158. data/docs/api/Brut/FrontEnd/Routing/MissingPath.html +2 -2
  159. data/docs/api/Brut/FrontEnd/Routing/PageRoute.html +2 -2
  160. data/docs/api/Brut/FrontEnd/Routing/Route.html +2 -2
  161. data/docs/api/Brut/FrontEnd/Routing.html +2 -2
  162. data/docs/api/Brut/FrontEnd/Session.html +2 -2
  163. data/docs/api/Brut/FrontEnd.html +2 -2
  164. data/docs/api/Brut/I18n/BaseMethods.html +2 -2
  165. data/docs/api/Brut/I18n/ForBackEnd.html +2 -2
  166. data/docs/api/Brut/I18n/ForCLI.html +2 -2
  167. data/docs/api/Brut/I18n/ForHTML.html +2 -2
  168. data/docs/api/Brut/I18n/HTTPAcceptLanguage/AlwaysEnglish.html +2 -2
  169. data/docs/api/Brut/I18n/HTTPAcceptLanguage.html +2 -2
  170. data/docs/api/Brut/I18n.html +2 -2
  171. data/docs/api/Brut/Instrumentation/LoggerSpanExporter.html +2 -2
  172. data/docs/api/Brut/Instrumentation/Methods/ClassMethods.html +2 -2
  173. data/docs/api/Brut/Instrumentation/Methods.html +2 -2
  174. data/docs/api/Brut/Instrumentation/OpenTelemetry/NormalizedAttributes.html +2 -2
  175. data/docs/api/Brut/Instrumentation/OpenTelemetry/Span.html +2 -2
  176. data/docs/api/Brut/Instrumentation/OpenTelemetry.html +2 -2
  177. data/docs/api/Brut/Instrumentation.html +2 -2
  178. data/docs/api/Brut/RubocopConfig.html +2 -2
  179. data/docs/api/Brut/SinatraHelpers/ClassMethods.html +2 -2
  180. data/docs/api/Brut/SinatraHelpers.html +2 -2
  181. data/docs/api/Brut/SpecSupport/ClockSupport.html +2 -2
  182. data/docs/api/Brut/SpecSupport/ComponentSupport.html +2 -2
  183. data/docs/api/Brut/SpecSupport/E2ETestServer.html +2 -2
  184. data/docs/api/Brut/SpecSupport/E2eSupport.html +2 -2
  185. data/docs/api/Brut/SpecSupport/EnhancedNode.html +2 -2
  186. data/docs/api/Brut/SpecSupport/FlashSupport.html +2 -2
  187. data/docs/api/Brut/SpecSupport/GeneralSupport/ClassMethods.html +2 -2
  188. data/docs/api/Brut/SpecSupport/GeneralSupport.html +2 -2
  189. data/docs/api/Brut/SpecSupport/HandlerSupport.html +2 -2
  190. data/docs/api/Brut/SpecSupport/Matchers/BeABug.html +2 -2
  191. data/docs/api/Brut/SpecSupport/Matchers/BePageFor.html +2 -2
  192. data/docs/api/Brut/SpecSupport/Matchers/BeRoutingFor.html +2 -2
  193. data/docs/api/Brut/SpecSupport/Matchers/HaveConstraintViolation.html +2 -2
  194. data/docs/api/Brut/SpecSupport/Matchers/HaveGenerated.html +2 -2
  195. data/docs/api/Brut/SpecSupport/Matchers/HaveHTMLAttribute.html +2 -2
  196. data/docs/api/Brut/SpecSupport/Matchers/HaveI18nString.html +2 -2
  197. data/docs/api/Brut/SpecSupport/Matchers/HaveLinkTo.html +2 -2
  198. data/docs/api/Brut/SpecSupport/Matchers/HaveRedirectedTo.html +2 -2
  199. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedHttpStatus.html +2 -2
  200. data/docs/api/Brut/SpecSupport/Matchers/HaveReturnedRackResponse.html +2 -2
  201. data/docs/api/Brut/SpecSupport/Matchers.html +2 -2
  202. data/docs/api/Brut/SpecSupport/RSpecSetup/OptionalSidekiqSupport.html +2 -2
  203. data/docs/api/Brut/SpecSupport/RSpecSetup.html +2 -2
  204. data/docs/api/Brut/SpecSupport/SessionSupport.html +2 -2
  205. data/docs/api/Brut/SpecSupport.html +2 -2
  206. data/docs/api/Brut.html +2 -2
  207. data/docs/api/Clock.html +2 -2
  208. data/docs/api/ModuleName.html +2 -2
  209. data/docs/api/RichString.html +2 -2
  210. data/docs/api/SemanticLogger/Appender/Async.html +2 -2
  211. data/docs/api/Sequel/Extensions/BrutInstrumentation.html +2 -2
  212. data/docs/api/Sequel/Extensions/BrutMigrations.html +2 -2
  213. data/docs/api/Sequel/Extensions.html +2 -2
  214. data/docs/api/Sequel/Plugins/CreatedAt/InstanceMethods.html +2 -2
  215. data/docs/api/Sequel/Plugins/CreatedAt.html +2 -2
  216. data/docs/api/Sequel/Plugins/ExternalId/ClassMethods.html +2 -2
  217. data/docs/api/Sequel/Plugins/ExternalId/InstanceMethods.html +2 -2
  218. data/docs/api/Sequel/Plugins/ExternalId.html +2 -2
  219. data/docs/api/Sequel/Plugins/FindBang/ClassMethods.html +2 -2
  220. data/docs/api/Sequel/Plugins/FindBang.html +2 -2
  221. data/docs/api/Sequel/Plugins.html +2 -2
  222. data/docs/api/Sequel.html +2 -2
  223. data/docs/api/_index.html +2 -2
  224. data/docs/api/file.README.html +2 -2
  225. data/docs/api/index.html +2 -2
  226. data/docs/api/top-level-namespace.html +2 -2
  227. data/docs/assets/{app.Dm7v_ouO.js → app.CovevI7X.js} +1 -1
  228. data/docs/assets/chunks/@localSearchIndexroot.BiNc3tFI.js +1 -0
  229. data/docs/assets/chunks/{VPLocalSearchBox.DQK6jQou.js → VPLocalSearchBox.CrvLAvKW.js} +1 -1
  230. data/docs/assets/chunks/{theme.BuExsdM9.js → theme.BAi5_yQI.js} +2 -2
  231. data/docs/assets/{components.md.Dfd3w6UW.js → components.md.9sqJ27Oc.js} +3 -3
  232. data/docs/assets/{configuration.md.DTYoV2Ea.js → configuration.md.Cb_oAR8Z.js} +1 -1
  233. data/docs/assets/{deployment.md.C1u5ep0g.js → deployment.md.CHTx2eTR.js} +10 -3
  234. data/docs/assets/{deployment.md.C1u5ep0g.lean.js → deployment.md.CHTx2eTR.lean.js} +1 -1
  235. data/docs/assets/{forms.md.DEkmJUvb.js → forms.md.BdpYpNIk.js} +1 -1
  236. data/docs/assets/{getting-started.md.DO-4eoGW.js → getting-started.md.CKpNGvno.js} +2 -2
  237. data/docs/assets/jobs.md.Bi3qb3v6.js +25 -0
  238. data/docs/assets/jobs.md.Bi3qb3v6.lean.js +1 -0
  239. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.js +12 -0
  240. data/docs/assets/recipes_dev-env-secrets.md.DC_jVY9U.lean.js +1 -0
  241. data/docs/assets/roadmap.md.DqC1Y7Zt.js +1 -0
  242. data/docs/assets/{roadmap.md.CJsbUmK_.lean.js → roadmap.md.DqC1Y7Zt.lean.js} +1 -1
  243. data/docs/assets/{tutorials_02-dialog.md.D2vSjDVf.js → tutorials_02-dialog.md.Z_DOF2mU.js} +1 -1
  244. data/docs/assets.html +4 -4
  245. data/docs/brut-js/api/AjaxSubmit.html +1 -1
  246. data/docs/brut-js/api/AjaxSubmit.js.html +1 -1
  247. data/docs/brut-js/api/Autosubmit.html +1 -1
  248. data/docs/brut-js/api/Autosubmit.js.html +1 -1
  249. data/docs/brut-js/api/BaseCustomElement.html +1 -1
  250. data/docs/brut-js/api/BaseCustomElement.js.html +1 -1
  251. data/docs/brut-js/api/BrutCustomElements.html +1 -1
  252. data/docs/brut-js/api/BufferedLogger.html +1 -1
  253. data/docs/brut-js/api/ConfirmSubmit.html +1 -1
  254. data/docs/brut-js/api/ConfirmSubmit.js.html +1 -1
  255. data/docs/brut-js/api/ConfirmationDialog.html +1 -1
  256. data/docs/brut-js/api/ConfirmationDialog.js.html +1 -1
  257. data/docs/brut-js/api/ConstraintViolationMessage.html +1 -1
  258. data/docs/brut-js/api/ConstraintViolationMessage.js.html +1 -1
  259. data/docs/brut-js/api/ConstraintViolationMessages.html +1 -1
  260. data/docs/brut-js/api/ConstraintViolationMessages.js.html +1 -1
  261. data/docs/brut-js/api/CopyToClipboard.html +1 -1
  262. data/docs/brut-js/api/CopyToClipboard.js.html +1 -1
  263. data/docs/brut-js/api/Form.html +1 -1
  264. data/docs/brut-js/api/Form.js.html +1 -1
  265. data/docs/brut-js/api/I18nTranslation.html +1 -1
  266. data/docs/brut-js/api/I18nTranslation.js.html +1 -1
  267. data/docs/brut-js/api/LocaleDetection.html +1 -1
  268. data/docs/brut-js/api/LocaleDetection.js.html +1 -1
  269. data/docs/brut-js/api/Logger.html +1 -1
  270. data/docs/brut-js/api/Logger.js.html +1 -1
  271. data/docs/brut-js/api/Message.html +1 -1
  272. data/docs/brut-js/api/Message.js.html +1 -1
  273. data/docs/brut-js/api/PrefixedLogger.html +1 -1
  274. data/docs/brut-js/api/RichString.html +1 -1
  275. data/docs/brut-js/api/RichString.js.html +1 -1
  276. data/docs/brut-js/api/Tabs.html +1 -1
  277. data/docs/brut-js/api/Tabs.js.html +1 -1
  278. data/docs/brut-js/api/Toast.html +1 -1
  279. data/docs/brut-js/api/Toast.js.html +1 -1
  280. data/docs/brut-js/api/Tracing.html +1 -1
  281. data/docs/brut-js/api/Tracing.js.html +1 -1
  282. data/docs/brut-js/api/external-CustomElementRegistry.html +1 -1
  283. data/docs/brut-js/api/external-Performance.html +1 -1
  284. data/docs/brut-js/api/external-Promise.html +1 -1
  285. data/docs/brut-js/api/external-ValidityState.html +1 -1
  286. data/docs/brut-js/api/external-Window.html +1 -1
  287. data/docs/brut-js/api/external-fetch.html +1 -1
  288. data/docs/brut-js/api/global.html +1 -1
  289. data/docs/brut-js/api/index.html +1 -1
  290. data/docs/brut-js/api/index.js.html +1 -1
  291. data/docs/brut-js/api/module-testing.html +1 -1
  292. data/docs/brut-js/api/testing.AssetMetadata.html +1 -1
  293. data/docs/brut-js/api/testing.AssetMetadataLoader.html +1 -1
  294. data/docs/brut-js/api/testing.CustomElementTest.html +1 -1
  295. data/docs/brut-js/api/testing.DOMCreator.html +1 -1
  296. data/docs/brut-js/api/testing_AssetMetadata.js.html +1 -1
  297. data/docs/brut-js/api/testing_AssetMetadataLoader.js.html +1 -1
  298. data/docs/brut-js/api/testing_CustomElementTest.js.html +1 -1
  299. data/docs/brut-js/api/testing_DOMCreator.js.html +1 -1
  300. data/docs/brut-js/api/testing_index.js.html +1 -1
  301. data/docs/brut-js.html +4 -4
  302. data/docs/business-logic.html +4 -4
  303. data/docs/cli.html +4 -4
  304. data/docs/components.html +8 -8
  305. data/docs/configuration.html +5 -5
  306. data/docs/css.html +4 -4
  307. data/docs/custom-element-tests.html +4 -4
  308. data/docs/database-access.html +4 -4
  309. data/docs/database-schema.html +4 -4
  310. data/docs/deployment.html +13 -6
  311. data/docs/dev-environment.html +4 -4
  312. data/docs/dir-structure.html +4 -4
  313. data/docs/doc-conventions.html +4 -4
  314. data/docs/end-to-end-tests.html +4 -4
  315. data/docs/features.html +4 -4
  316. data/docs/flash-and-session.html +4 -4
  317. data/docs/form-constraints.html +4 -4
  318. data/docs/forms.html +6 -6
  319. data/docs/getting-started.html +7 -7
  320. data/docs/handlers.html +4 -4
  321. data/docs/hashmap.json +1 -1
  322. data/docs/hooks.html +4 -4
  323. data/docs/i18n.html +4 -4
  324. data/docs/index.html +3 -3
  325. data/docs/instrumentation.html +4 -4
  326. data/docs/javascript.html +4 -4
  327. data/docs/jobs.html +29 -5
  328. data/docs/keyword-injection.html +4 -4
  329. data/docs/layouts.html +4 -4
  330. data/docs/lsp.html +4 -4
  331. data/docs/markdown-examples.html +4 -4
  332. data/docs/middleware.html +4 -4
  333. data/docs/overview.html +4 -4
  334. data/docs/pages.html +4 -4
  335. data/docs/recipes/alternate-layouts.html +5 -5
  336. data/docs/recipes/authentication.html +5 -5
  337. data/docs/recipes/custom-flash.html +5 -5
  338. data/docs/recipes/dev-env-secrets.html +40 -0
  339. data/docs/recipes/form-errors.html +5 -5
  340. data/docs/recipes/indexed-forms.html +5 -5
  341. data/docs/recipes/migrations.html +5 -5
  342. data/docs/recipes/text-field-component.html +5 -5
  343. data/docs/roadmap.html +5 -5
  344. data/docs/routes.html +4 -4
  345. data/docs/security.html +4 -4
  346. data/docs/seed-data.html +4 -4
  347. data/docs/space-time-continuum.html +4 -4
  348. data/docs/tutorial.html +4 -4
  349. data/docs/tutorials/01-intro.html +4 -4
  350. data/docs/tutorials/02-dialog.html +5 -5
  351. data/docs/unit-tests.html +4 -4
  352. data/docs/why.html +4 -4
  353. data/lib/brut/version.rb +1 -1
  354. data/mkbrut/Gemfile.lock +2 -1
  355. data/mkbrut/lib/mkbrut/version.rb +1 -1
  356. data/mkbrut/templates/segments/Heroku/deploy/Dockerfile +9 -7
  357. data/mkbrut/templates/segments/Heroku/deploy/heroku_config.rb +2 -2
  358. metadata +24 -23
  359. data/docs/api/SpecSupport/Matchers/BeABug.html +0 -143
  360. data/docs/assets/chunks/@localSearchIndexroot.BiNFswvo.js +0 -1
  361. data/docs/assets/jobs.md.Bc7Y1YpK.js +0 -1
  362. data/docs/assets/jobs.md.Bc7Y1YpK.lean.js +0 -1
  363. data/docs/assets/roadmap.md.CJsbUmK_.js +0 -1
  364. data/docs/brut-css/brut.css +0 -1
  365. /data/docs/assets/{components.md.Dfd3w6UW.lean.js → components.md.9sqJ27Oc.lean.js} +0 -0
  366. /data/docs/assets/{configuration.md.DTYoV2Ea.lean.js → configuration.md.Cb_oAR8Z.lean.js} +0 -0
  367. /data/docs/assets/{forms.md.DEkmJUvb.lean.js → forms.md.BdpYpNIk.lean.js} +0 -0
  368. /data/docs/assets/{getting-started.md.DO-4eoGW.lean.js → getting-started.md.CKpNGvno.lean.js} +0 -0
  369. /data/docs/assets/{tutorials_02-dialog.md.D2vSjDVf.lean.js → tutorials_02-dialog.md.Z_DOF2mU.lean.js} +0 -0
@@ -95,9 +95,9 @@
95
95
  </div>
96
96
 
97
97
  <div id="footer">
98
- Generated on Tue Sep 16 13:23:59 2025 by
98
+ Generated on Mon Sep 29 18:39:06 2025 by
99
99
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
100
- 0.9.37 (ruby-3.4.5).
100
+ 0.9.37 (ruby-3.4.6).
101
101
  </div>
102
102
 
103
103
  </div>
@@ -115,9 +115,9 @@
115
115
  </div>
116
116
 
117
117
  <div id="footer">
118
- Generated on Tue Sep 16 13:23:59 2025 by
118
+ Generated on Mon Sep 29 18:39:06 2025 by
119
119
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
120
- 0.9.37 (ruby-3.4.5).
120
+ 0.9.37 (ruby-3.4.6).
121
121
  </div>
122
122
 
123
123
  </div>
@@ -197,9 +197,9 @@ prefix should be used. Calling this will also alter <span class='object_link'><
197
197
  </div>
198
198
 
199
199
  <div id="footer">
200
- Generated on Tue Sep 16 13:23:59 2025 by
200
+ Generated on Mon Sep 29 18:39:06 2025 by
201
201
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
202
- 0.9.37 (ruby-3.4.5).
202
+ 0.9.37 (ruby-3.4.6).
203
203
  </div>
204
204
 
205
205
  </div>
@@ -176,9 +176,9 @@ models in Log messages without having to explicitly fetch the id.</p>
176
176
  </div>
177
177
 
178
178
  <div id="footer">
179
- Generated on Tue Sep 16 13:23:59 2025 by
179
+ Generated on Mon Sep 29 18:39:06 2025 by
180
180
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
181
- 0.9.37 (ruby-3.4.5).
181
+ 0.9.37 (ruby-3.4.6).
182
182
  </div>
183
183
 
184
184
  </div>
@@ -208,9 +208,9 @@ what type of thing an identifier represents.</p>
208
208
  </div>
209
209
 
210
210
  <div id="footer">
211
- Generated on Tue Sep 16 13:23:59 2025 by
211
+ Generated on Mon Sep 29 18:39:06 2025 by
212
212
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
213
- 0.9.37 (ruby-3.4.5).
213
+ 0.9.37 (ruby-3.4.6).
214
214
  </div>
215
215
 
216
216
  </div>
@@ -192,9 +192,9 @@
192
192
  </div>
193
193
 
194
194
  <div id="footer">
195
- Generated on Tue Sep 16 13:23:59 2025 by
195
+ Generated on Mon Sep 29 18:39:06 2025 by
196
196
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
197
- 0.9.37 (ruby-3.4.5).
197
+ 0.9.37 (ruby-3.4.6).
198
198
  </div>
199
199
 
200
200
  </div>
@@ -115,9 +115,9 @@
115
115
  </div>
116
116
 
117
117
  <div id="footer">
118
- Generated on Tue Sep 16 13:23:59 2025 by
118
+ Generated on Mon Sep 29 18:39:06 2025 by
119
119
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
120
- 0.9.37 (ruby-3.4.5).
120
+ 0.9.37 (ruby-3.4.6).
121
121
  </div>
122
122
 
123
123
  </div>
@@ -107,9 +107,9 @@
107
107
  </div>
108
108
 
109
109
  <div id="footer">
110
- Generated on Tue Sep 16 13:23:59 2025 by
110
+ Generated on Mon Sep 29 18:39:06 2025 by
111
111
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
112
- 0.9.37 (ruby-3.4.5).
112
+ 0.9.37 (ruby-3.4.6).
113
113
  </div>
114
114
 
115
115
  </div>
data/docs/api/Sequel.html CHANGED
@@ -107,9 +107,9 @@
107
107
  </div>
108
108
 
109
109
  <div id="footer">
110
- Generated on Tue Sep 16 13:23:59 2025 by
110
+ Generated on Mon Sep 29 18:39:06 2025 by
111
111
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
112
- 0.9.37 (ruby-3.4.5).
112
+ 0.9.37 (ruby-3.4.6).
113
113
  </div>
114
114
 
115
115
  </div>
data/docs/api/_index.html CHANGED
@@ -1709,9 +1709,9 @@
1709
1709
  </div>
1710
1710
 
1711
1711
  <div id="footer">
1712
- Generated on Tue Sep 16 13:23:59 2025 by
1712
+ Generated on Mon Sep 29 18:39:06 2025 by
1713
1713
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1714
- 0.9.37 (ruby-3.4.5).
1714
+ 0.9.37 (ruby-3.4.6).
1715
1715
  </div>
1716
1716
 
1717
1717
  </div>
@@ -162,9 +162,9 @@ actions as well.</p>
162
162
  </div></div>
163
163
 
164
164
  <div id="footer">
165
- Generated on Tue Sep 16 13:23:59 2025 by
165
+ Generated on Mon Sep 29 18:39:06 2025 by
166
166
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
167
- 0.9.37 (ruby-3.4.5).
167
+ 0.9.37 (ruby-3.4.6).
168
168
  </div>
169
169
 
170
170
  </div>
data/docs/api/index.html CHANGED
@@ -162,9 +162,9 @@ actions as well.</p>
162
162
  </div></div>
163
163
 
164
164
  <div id="footer">
165
- Generated on Tue Sep 16 13:23:59 2025 by
165
+ Generated on Mon Sep 29 18:39:06 2025 by
166
166
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
167
- 0.9.37 (ruby-3.4.5).
167
+ 0.9.37 (ruby-3.4.6).
168
168
  </div>
169
169
 
170
170
  </div>
@@ -102,9 +102,9 @@
102
102
  </div>
103
103
 
104
104
  <div id="footer">
105
- Generated on Tue Sep 16 13:23:59 2025 by
105
+ Generated on Mon Sep 29 18:39:06 2025 by
106
106
  <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
- 0.9.37 (ruby-3.4.5).
107
+ 0.9.37 (ruby-3.4.6).
108
108
  </div>
109
109
 
110
110
  </div>
@@ -1 +1 @@
1
- import{R as p}from"./chunks/theme.BuExsdM9.js";import{R as s,a3 as i,a4 as u,a5 as c,a6 as l,a7 as f,a8 as d,a9 as m,aa as h,ab as g,ac as A,d as v,u as R,v as w,s as y,ad as C,ae as P,af as b,a2 as E}from"./chunks/framework.C4nOkCZI.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),P(),b(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
1
+ import{R as p}from"./chunks/theme.BAi5_yQI.js";import{R as s,a3 as i,a4 as u,a5 as c,a6 as l,a7 as f,a8 as d,a9 as m,aa as h,ab as g,ac as A,d as v,u as R,v as w,s as y,ad as C,ae as P,af as b,a2 as E}from"./chunks/framework.C4nOkCZI.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=R();return w(()=>{y(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),P(),b(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};